⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 address.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.SqlServerDal.Crm
{
    using Microsoft.Practices.EnterpriseLibrary.Data;
    using PowerEasy.IDal.Crm;
    using PowerEasy.Model.Crm;
    using PowerEasy.SqlServerDal;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Common;

    public class Address : IAddress
    {
        private int m_TotalOfAddress;

        public bool Add(AddressInfo addressInfo)
        {
            addressInfo.AddressId = this.GetMaxId() + 1;
            return DBHelper.ExecuteProc("PR_Crm_Address_Add", GetParameters(addressInfo));
        }

        private static AddressInfo AddressFromrdr(NullableDataReader rdr)
        {
            AddressInfo info = new AddressInfo();
            info.AddressId = rdr.GetInt32("AddressID");
            info.UserName = rdr.GetString("UserName");
            info.HomePhone = rdr.GetString("HomePhone");
            info.Mobile = rdr.GetString("Mobile");
            info.Country = rdr.GetString("Country");
            info.Province = rdr.GetString("Province");
            info.City = rdr.GetString("City");
            info.Area = rdr.GetString("Area");
            info.Address = rdr.GetString("Address");
            info.ZipCode = rdr.GetString("ZipCode");
            info.IsDefault = rdr.GetBoolean("IsDefault");
            info.ConsigneeName = rdr.GetString("ConsigneeName");
            return info;
        }

        public bool Delete(string addressList, string userName)
        {
            return DBHelper.ExecuteSql(string.Format("Delete From PE_Address where AddressID in ({0})  if not exists(select * from PE_Address where UserName='{1}' and IsDefault=1)  update PE_Address set IsDefault=1 where AddressID= (Select top 1 AddressID from PE_Address where UserName='{1}')", addressList, userName));
        }

        public bool DeleteById(int addressId)
        {
            return DBHelper.ExecuteSql("Delete From PE_Address where AddressID=@AddressID", new Parameters("@AddressID", DbType.Int32, addressId));
        }

        public bool DeleteByUserName(string userName)
        {
            return DBHelper.ExecuteSql("Delete From PE_Address where UserName=@UserName", new Parameters("@UserName", DbType.String, userName));
        }

        public AddressInfo GetAddressById(int addressId)
        {
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_Address where AddressID=@AddressID", new Parameters("@AddressID", DbType.Int32, addressId)))
            {
                if (reader.Read())
                {
                    return AddressFromrdr(reader);
                }
                return new AddressInfo(true);
            }
        }

        public IList<AddressInfo> GetAddressList(int startRowIndexId, int maxNumberRows, string type, string key)
        {
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
            database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32, startRowIndexId);
            database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32, maxNumberRows);
            database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String, "AddressID");
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "desc");
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_Address");
            if (string.IsNullOrEmpty(type) || string.IsNullOrEmpty(key))
            {
                database.AddInParameter(storedProcCommand, "@Filter", DbType.String, string.Empty);
            }
            else if (string.Compare(type, "Area") == 0)
            {
                database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "Province like '%" + key + "%' OR City like '%" + key + "%' OR Area like '%" + key + "%'");
            }
            else
            {
                database.AddInParameter(storedProcCommand, "@Filter", DbType.String, type + " like '%" + key + "%'");
            }
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows);
            IList<AddressInfo> list = new List<AddressInfo>();
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    list.Add(AddressFromrdr(reader));
                }
            }
            this.m_TotalOfAddress = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        public IList<AddressInfo> GetAddressListByUserName(string userName)
        {
            IList<AddressInfo> list = new List<AddressInfo>();
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("Select * from PE_Address where UserName=@UserName", new Parameters("@UserName", DbType.String, userName)))
            {
                while (reader.Read())
                {
                    list.Add(AddressFromrdr(reader));
                }
            }
            return list;
        }

        public AddressInfo GetDefaultAddressByUserName(string userName)
        {
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("Select top 1 * from PE_Address Where UserName=@UserName And IsDefault=1", new Parameters("@UserName", DbType.String, userName)))
            {
                if (reader.Read())
                {
                    return AddressFromrdr(reader);
                }
                return new AddressInfo(true);
            }
        }

        public int GetMaxId()
        {
            return DBHelper.GetMaxId("PE_Address", "AddressID");
        }

        private static Parameters GetParameters(AddressInfo addressInfo)
        {
            Parameters parameters = new Parameters();
            parameters.AddInParameter("@AddressID", DbType.Int32, addressInfo.AddressId);
            parameters.AddInParameter("@UserName", DbType.String, addressInfo.UserName);
            parameters.AddInParameter("@HomePhone", DbType.String, addressInfo.HomePhone);
            parameters.AddInParameter("@Mobile", DbType.String, addressInfo.Mobile);
            parameters.AddInParameter("@Country", DbType.String, addressInfo.Country);
            parameters.AddInParameter("@Province", DbType.String, addressInfo.Province);
            parameters.AddInParameter("@City", DbType.String, addressInfo.City);
            parameters.AddInParameter("@Area", DbType.String, addressInfo.Area);
            parameters.AddInParameter("@Address", DbType.String, addressInfo.Address);
            parameters.AddInParameter("@ZipCode", DbType.String, addressInfo.ZipCode);
            parameters.AddInParameter("@ConsigneeName", DbType.String, addressInfo.ConsigneeName);
            return parameters;
        }

        public int GetTotalOfAddress()
        {
            return this.m_TotalOfAddress;
        }

        public bool SetDefault(int addressId, string userName)
        {
            string strSql = "update PE_Address set IsDefault=0 where UserName=@UserName and IsDefault=1  update PE_Address set IsDefault=1 where AddressID=@AddressID";
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@UserName", DbType.String, userName);
            cmdParams.AddInParameter("@AddressID", DbType.Int32, addressId);
            return DBHelper.ExecuteSql(strSql, cmdParams);
        }

        public bool Update(AddressInfo addressInfo)
        {
            return DBHelper.ExecuteProc("PR_Crm_Address_Update", GetParameters(addressInfo));
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -