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

📄 deliveritem.cs

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

    public class DeliverItem : IDeliverItem
    {
        private int m_TotalOfDeliverItem;

        public bool Add(DeliverItemInfo deliverItemInfo)
        {
            Database db = DatabaseFactory.CreateDatabase();
            DbCommand command = GetProcdbComm(db, "PR_Shop_DeliverItem_Add", deliverItemInfo);
            try
            {
                return (db.ExecuteNonQuery(command) > 0);
            }
            catch
            {
                return false;
            }
        }

        private static DeliverItemInfo DeliverItemFromrdr(NullableDataReader rdr)
        {
            DeliverItemInfo info = new DeliverItemInfo();
            info.DeliverId = rdr.GetInt32("DeliverID");
            info.OrderId = rdr.GetInt32("OrderID");
            info.DeliverDate = rdr.GetDateTime("DeliverDate");
            info.DeliverDirection = rdr.GetInt32("DeliverDirection");
            info.HandlerName = rdr.GetString("HandlerName");
            info.ExpressCompany = rdr.GetString("ExpressCompany");
            info.ExpressNumber = rdr.GetString("ExpressNumber");
            info.Inputer = rdr.GetString("Inputer");
            info.Remark = rdr.GetString("Remark");
            info.Received = rdr.GetBoolean("Received");
            info.Memo = rdr.GetString("Memo");
            return info;
        }

        private static DeliverItemInfo DetailDeliverItemFromrdr(NullableDataReader rdr)
        {
            DeliverItemInfo info = DeliverItemFromrdr(rdr);
            info.ClientId = rdr.GetInt32("ClientID");
            info.ClientName = rdr.GetString("ClientName");
            info.ContacterName = rdr.GetString("ContacterName");
            info.UserName = rdr.GetString("UserName");
            info.OrderNum = rdr.GetString("OrderNum");
            return info;
        }

        public DeliverItemInfo GetDeliverItemById(int deliverItemId)
        {
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select D.*,O.OrderNum,O.UserName,O.ContacterName,O.ClientID,C.ShortedForm as ClientName from PE_DeliverItem D left join (PE_Orders O left join PE_Client C on O.ClientID=C.ClientID) on D.OrderID=O.OrderID where D.DeliverID = @DeliverID", new Parameters("@DeliverID", DbType.Int32, deliverItemId)))
            {
                if (reader.Read())
                {
                    return DetailDeliverItemFromrdr(reader);
                }
                return new DeliverItemInfo(true);
            }
        }

        public DeliverItemInfo GetDeliverItemByOrderId(int orderId)
        {
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Shop_DeliverItem_GetByOrderId");
            database.AddInParameter(storedProcCommand, "OrderId", DbType.Int32, orderId);
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                if (reader.Read())
                {
                    DeliverItemInfo info = new DeliverItemInfo();
                    info.UserName = reader.GetString("UserName");
                    info.OrderNum = reader.GetString("OrderNum");
                    info.ClientName = reader.GetString("ClientName");
                    info.MoneyTotal = reader.GetDecimal("MoneyTotal");
                    info.MoneyReceipt = reader.GetDecimal("MoneyReceipt");
                    info.DeliverTypeName = reader.GetString("DeliverTypeName");
                    info.ContacterName = reader.GetString("ContacterName");
                    info.Email = reader.GetString("Email");
                    return info;
                }
                return new DeliverItemInfo(true);
            }
        }

        public DeliverItemInfo GetDeliverItemByOrderId(int orderId, int deliverDirection)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@OrderId", DbType.Int32, orderId);
            cmdParams.AddInParameter("@DeliverDirection", DbType.Int32, deliverDirection);
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_DeliverItem where OrderId=@OrderId and DeliverDirection = @DeliverDirection", cmdParams))
            {
                if (reader.Read())
                {
                    return DeliverItemFromrdr(reader);
                }
                return new DeliverItemInfo(true);
            }
        }

        public ArrayList GetExpressCompannyList()
        {
            ArrayList list = new ArrayList();
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Shop_DeliverItem_GetExpressCompannyList");
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    if (!string.IsNullOrEmpty(reader.GetString("ExpressCompany")))
                    {
                        list.Add(reader.GetString("ExpressCompany"));
                    }
                }
            }
            return list;
        }

        public IList<DeliverItemInfo> GetList(int startRowIndexId, int maxNumberRows, int searchType, string keyword, int quickSearch)
        {
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
            database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32);
            database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32);
            database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String);
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String);
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String);
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String);
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String);
            database.SetParameterValue(storedProcCommand, "@StartRows", startRowIndexId);
            database.SetParameterValue(storedProcCommand, "@PageSize", maxNumberRows);
            database.SetParameterValue(storedProcCommand, "@SortColumn", "DeliverID");
            database.SetParameterValue(storedProcCommand, "@StrColumn", "D.*,O.OrderNum,O.UserName,O.ContacterName,O.ClientID,C.ShortedForm as ClientName");
            database.SetParameterValue(storedProcCommand, "@Sorts", "DESC");
            database.SetParameterValue(storedProcCommand, "@TableName", "PE_DeliverItem D left join (PE_Orders O left join PE_Client C on O.ClientID=C.ClientID) on D.OrderID=O.OrderID");
            switch (quickSearch)
            {
                case 1:
                    database.SetParameterValue(storedProcCommand, "@Filter", "datediff(dd,D.DeliverDate,GetDate())<10");
                    break;

                case 2:
                    database.SetParameterValue(storedProcCommand, "@Filter", "datediff(m,D.DeliverDate,GetDate())<1");
                    break;

                case 3:
                    database.SetParameterValue(storedProcCommand, "@Filter", "D.DeliverDirection=1");
                    break;

                case 4:
                    database.SetParameterValue(storedProcCommand, "@Filter", "D.DeliverDirection=2");
                    break;

                default:
                    if (!string.IsNullOrEmpty(keyword))
                    {
                        switch (searchType)
                        {
                            case 1:
                                database.SetParameterValue(storedProcCommand, "@Filter", "C.ShortedForm like '%" + keyword + "%'");
                                break;

                            case 2:
                                database.SetParameterValue(storedProcCommand, "@Filter", "O.ContacterName like '%" + keyword + "%'");
                                break;

                            case 3:
                                database.SetParameterValue(storedProcCommand, "@Filter", "O.UserName like '%" + keyword + "%'");
                                break;

                            case 4:
                                database.SetParameterValue(storedProcCommand, "@Filter", "D.ExpressCompany like '%" + keyword + "%'");
                                break;

                            case 5:
                                database.SetParameterValue(storedProcCommand, "@Filter", "D.ExpressNumber like '%" + keyword + "%'");
                                break;

                            case 6:
                                database.SetParameterValue(storedProcCommand, "@Filter", "D.HandlerName like '%" + keyword + "%'");
                                break;

                            case 7:
                                database.SetParameterValue(storedProcCommand, "@Filter", "datediff(dd,D.DeliverDate,'" + keyword + "')=0");
                                break;

                            case 8:
                                database.SetParameterValue(storedProcCommand, "@Filter", "D.OrderID=" + keyword + "");
                                break;
                        }
                    }
                    else
                    {
                        database.SetParameterValue(storedProcCommand, "@Filter", "");
                    }
                    break;
            }
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, 10);
            IList<DeliverItemInfo> list = new List<DeliverItemInfo>();
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    list.Add(DetailDeliverItemFromrdr(reader));
                }
            }
            this.m_TotalOfDeliverItem = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        private static DbCommand GetProcdbComm(Database db, string proName, DeliverItemInfo deliverItemInfo)
        {
            DbCommand storedProcCommand = db.GetStoredProcCommand(proName);
            db.AddInParameter(storedProcCommand, "@OrderID", DbType.Int32, deliverItemInfo.OrderId);
            db.AddInParameter(storedProcCommand, "@DeliverDate", DbType.DateTime, deliverItemInfo.DeliverDate);
            db.AddInParameter(storedProcCommand, "@DeliverDirection", DbType.Int32, deliverItemInfo.DeliverDirection);
            db.AddInParameter(storedProcCommand, "@HandlerName", DbType.String, deliverItemInfo.HandlerName);
            db.AddInParameter(storedProcCommand, "@ExpressCompany", DbType.String, deliverItemInfo.ExpressCompany);
            db.AddInParameter(storedProcCommand, "@ExpressNumber", DbType.String, deliverItemInfo.ExpressNumber);
            db.AddInParameter(storedProcCommand, "@Inputer", DbType.String, deliverItemInfo.Inputer);
            db.AddInParameter(storedProcCommand, "@Remark", DbType.String, deliverItemInfo.Remark);
            db.AddInParameter(storedProcCommand, "@Memo", DbType.String, deliverItemInfo.Memo);
            return storedProcCommand;
        }

        public int GetTotalOfDeliverItem()
        {
            return this.m_TotalOfDeliverItem;
        }

        public void UpdateReceive(int orderId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@OrderID", DbType.Int32, orderId);
            DBHelper.ExecuteSql("update PE_DeliverItem set Received=1 where OrderID=@OrderID and Received=0", cmdParams);
        }
    }
}

⌨️ 快捷键说明

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