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

📄 coupon.cs

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

    public class Coupon : ICoupon
    {
        private int m_TotalOfCoupon;

        public bool Add(CouponInfo couponInfo)
        {
            couponInfo.CouponId = GetNextId();
            Parameters cmdParams = GetParameters(couponInfo);
            return DBHelper.ExecuteSql("insert into PE_Coupon (CouponID,CouponName,CouponNumPattern,Money,State,UserGroup,BeginDate,EndDate,LimitNum,ProductLimitType,ProductLimitContent,CouponCreateType,CouponCreateContent,OrderTotalMoney,UseEndDate) values (@CouponID,@CouponName,@CouponNumPattern,@Money,@State,@UserGroup,@BeginDate,@EndDate,@LimitNum,@ProductLimitType,@ProductLimitContent,@CouponCreateType,@CouponCreateContent,@OrderTotalMoney,@UseEndDate)", cmdParams);
        }

        public bool Delete(string couponId)
        {
            return DBHelper.ExecuteSql("delete from PE_Coupon Where CouponID in (" + couponId + ")");
        }

        public CouponInfo GetCouponInfoById(int couponId)
        {
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_Coupon where CouponID=@CouponID", new Parameters("@CouponID", DbType.Int32, couponId)))
            {
                if (reader.Read())
                {
                    return GetCouponInfoFromrdataReader(reader);
                }
                return new CouponInfo(true);
            }
        }

        private static CouponInfo GetCouponInfoFromrdataReader(NullableDataReader dataReader)
        {
            CouponInfo info = new CouponInfo();
            info.BeginDate = dataReader.GetDateTime("BeginDate");
            info.CouponCreateContent = dataReader.GetString("CouponCreateContent");
            info.CouponCreateType = (CouponCreateType) dataReader.GetInt32("CouponCreateType");
            info.CouponId = dataReader.GetInt32("CouponId");
            info.CouponName = dataReader.GetString("CouponName");
            info.EndDate = dataReader.GetDateTime("EndDate");
            info.LimitNum = dataReader.GetInt32("LimitNum");
            info.Money = dataReader.GetDecimal("Money");
            info.OrderTotalMoney = dataReader.GetDecimal("OrderTotalMoney");
            info.CouponNumPattern = dataReader.GetString("CouponNumPattern");
            info.ProductLimitContent = dataReader.GetString("ProductLimitContent");
            info.ProductLimitType = (ProductLimitType) dataReader.GetInt32("ProductLimitType");
            info.State = dataReader.GetInt32("State");
            info.UserGroup = dataReader.GetString("UserGroup");
            info.UseEndDate = dataReader.GetDateTime("UseEndDate");
            return info;
        }

        public IList<CouponDetailInfo> GetDetailList(int startRowIndexId, int maxNumberRows, int userId)
        {
            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, "I.ID");
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "Desc");
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "I.UserID =" + userId);
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_CouponItem I inner join PE_Coupon C on I.CouponID = C.CouponID");
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows);
            IList<CouponDetailInfo> list = new List<CouponDetailInfo>();
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    CouponDetailInfo item = new CouponDetailInfo();
                    item.CouponInfo = GetCouponInfoFromrdataReader(reader);
                    item.CouponItemInfo = CouponItem.GetItemInfoFromrdataReader(reader);
                    list.Add(item);
                }
            }
            this.m_TotalOfCoupon = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        public IList<CouponInfo> GetList()
        {
            IList<CouponInfo> list = new List<CouponInfo>();
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_Coupon where (BeginDate <= GETDATE()) AND (EndDate >= GETDATE()) AND (State = 1)"))
            {
                while (reader.Read())
                {
                    list.Add(GetCouponInfoFromrdataReader(reader));
                }
            }
            return list;
        }

        public IList<CouponInfo> GetList(int startRowIndexId, int maxNumberRows)
        {
            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, "CouponID");
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "Desc");
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "");
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_Coupon");
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows);
            IList<CouponInfo> list = new List<CouponInfo>();
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    list.Add(GetCouponInfoFromrdataReader(reader));
                }
            }
            this.m_TotalOfCoupon = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        private static int GetNextId()
        {
            return (DBHelper.GetMaxId("PE_Coupon", "CouponID") + 1);
        }

        private static Parameters GetParameters(CouponInfo couponInfo)
        {
            Parameters parameters = new Parameters();
            parameters.AddInParameter("@CouponId", DbType.String, couponInfo.CouponId);
            parameters.AddInParameter("@BeginDate", DbType.DateTime, couponInfo.BeginDate);
            parameters.AddInParameter("@CouponCreateContent", DbType.String, couponInfo.CouponCreateContent);
            parameters.AddInParameter("@CouponCreateType", DbType.Int32, Convert.ToInt32(couponInfo.CouponCreateType));
            parameters.AddInParameter("@CouponName", DbType.String, couponInfo.CouponName);
            parameters.AddInParameter("@EndDate", DbType.DateTime, couponInfo.EndDate);
            parameters.AddInParameter("@LimitNum", DbType.Int32, couponInfo.LimitNum);
            parameters.AddInParameter("@Money", DbType.Decimal, couponInfo.Money);
            parameters.AddInParameter("@OrderTotalMoney", DbType.Decimal, couponInfo.OrderTotalMoney);
            parameters.AddInParameter("@CouponNumPattern", DbType.String, couponInfo.CouponNumPattern);
            parameters.AddInParameter("@ProductLimitContent", DbType.String, couponInfo.ProductLimitContent);
            parameters.AddInParameter("@ProductLimitType", DbType.Int32, Convert.ToInt32(couponInfo.ProductLimitType));
            parameters.AddInParameter("@State", DbType.Int32, couponInfo.State);
            parameters.AddInParameter("@UserGroup", DbType.String, couponInfo.UserGroup);
            parameters.AddInParameter("@UseEndDate", DbType.DateTime, couponInfo.UseEndDate);
            return parameters;
        }

        public int GetTotalOfCoupon()
        {
            return this.m_TotalOfCoupon;
        }

        public bool SetState(int couponId, int state)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@CouponID", DbType.Int32, couponId);
            cmdParams.AddInParameter("@State", DbType.Int32, state);
            return DBHelper.ExecuteSql("update PE_Coupon Set State = @State where CouponID = @CouponID", cmdParams);
        }

        public bool Update(CouponInfo couponInfo)
        {
            Parameters cmdParams = GetParameters(couponInfo);
            return DBHelper.ExecuteSql("update PE_Coupon Set CouponName=@CouponName,CouponNumPattern=@CouponNumPattern,Money=@Money,State=@State,UserGroup=@UserGroup,BeginDate=@BeginDate,EndDate=@EndDate,LimitNum=@LimitNum,ProductLimitType=@ProductLimitType,ProductLimitContent=@ProductLimitContent,CouponCreateType=@CouponCreateType,CouponCreateContent=@CouponCreateContent,OrderTotalMoney=@OrderTotalMoney,UseEndDate = @UseEndDate where CouponID = @CouponID", cmdParams);
        }
    }
}

⌨️ 快捷键说明

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