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

📄 present.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;
    using System.Text;

    public class Present : IPresent
    {
        private const string m_PresentFields = "PresentID,PresentName,PresentNum,Unit,PresentPic,PresentThumb,ServiceTermUnit,ServiceTerm,Price,Price_Market,Weight,Stocks,AlarmNum,ProductCharacter,DownloadUrl,Remark,PresentIntro,PresentExplain";
        private const string m_PresentParameters = "@PresentID,@PresentName,@PresentNum,@Unit,@PresentPic,@PresentThumb,@ServiceTermUnit,@ServiceTerm,@Price,@Price_Market,@Weight,@Stocks,@AlarmNum,@ProductCharacter,@DownloadUrl,@Remark,@PresentIntro,@PresentExplain";
        private int m_TotalOfPresents;

        public bool AddPresent(PresentInfo info)
        {
            info.PresentId = GetMaxId() + 1;
            string strSql = "Insert Into PE_Present(PresentID,PresentName,PresentNum,Unit,PresentPic,PresentThumb,ServiceTermUnit,ServiceTerm,Price,Price_Market,Weight,Stocks,AlarmNum,ProductCharacter,DownloadUrl,Remark,PresentIntro,PresentExplain)values(@PresentID,@PresentName,@PresentNum,@Unit,@PresentPic,@PresentThumb,@ServiceTermUnit,@ServiceTerm,@Price,@Price_Market,@Weight,@Stocks,@AlarmNum,@ProductCharacter,@DownloadUrl,@Remark,@PresentIntro,@PresentExplain)";
            return DBHelper.ExecuteSql(strSql, GetPresentParameters(info));
        }

        public bool AddStocks(int id, int quantity)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@ID", DbType.Int32, id);
            cmdParams.AddInParameter("@Quantity", DbType.Int32, quantity);
            return DBHelper.ExecuteSql("Update PE_Present set Stocks=Isnull(Stocks,0)+@Quantity where PresentID=@ID ", cmdParams);
        }

        public bool DeletePresents(string idList)
        {
            return DBHelper.ExecuteSql("delete PE_Present Where PresentID in (" + idList + ")");
        }

        private static int GetMaxId()
        {
            return DBHelper.GetMaxId("PE_Present", "PresentID");
        }

        public IList<PresentInfo> GetPresentByCharacter(ProductCharacter productCharacter)
        {
            IList<PresentInfo> list = new List<PresentInfo>();
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_Present Where (ProductCharacter&@ProductCharacter) > 0", new Parameters("@ProductCharacter", DbType.Int32, (int) productCharacter)))
            {
                while (reader.Read())
                {
                    PresentInfo item = PresentFromrdr(reader);
                    list.Add(item);
                }
            }
            return list;
        }

        public PresentInfo GetPresentById(int id)
        {
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_Present where PresentID=@id", new Parameters("@id", DbType.Int32, id)))
            {
                if (reader.Read())
                {
                    return PresentFromrdr(reader);
                }
                return new PresentInfo(true);
            }
        }

        public PresentInfo GetPresentByPresentNum(string presentNum)
        {
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_Present where PresentNum=@PresentNum", new Parameters("@PresentNum", DbType.String, presentNum)))
            {
                if (reader.Read())
                {
                    return PresentFromrdr(reader);
                }
                return new PresentInfo(true);
            }
        }

        public IList<PresentInfo> GetPresentList(int startRowIndexId, int maxNumberRows)
        {
            return this.GetPresentList(startRowIndexId, maxNumberRows, 0, "");
        }

        public IList<PresentInfo> GetPresentList(int startRowIndexId, int maxNumberRows, int searchType, string keyword)
        {
            IList<PresentInfo> list = new List<PresentInfo>();
            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, "PresentID");
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "*");
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "DESC");
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_Present");
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows);
            string str = "";
            if ((searchType == 1) && !string.IsNullOrEmpty(keyword))
            {
                str = "PresentName like '%" + keyword + "%'";
            }
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String, str);
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                while (reader.Read())
                {
                    PresentInfo item = PresentFromrdr(reader);
                    list.Add(item);
                }
            }
            this.m_TotalOfPresents = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        public string GetPresentNameById(int id)
        {
            string str = "";
            string strSql = "select PresentName from PE_Present where PresentID = @ID";
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@ID", DbType.String, id);
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql(strSql, cmdParams))
            {
                if (reader.Read())
                {
                    str = reader.GetString("PresentName");
                }
            }
            return str;
        }

        private static Parameters GetPresentParameters(PresentInfo PresentInfo)
        {
            Parameters parameters = new Parameters();
            parameters.AddInParameter("@PresentID", DbType.Int32, PresentInfo.PresentId);
            parameters.AddInParameter("@PresentName", DbType.String, PresentInfo.PresentName);
            parameters.AddInParameter("@PresentPic", DbType.String, PresentInfo.PresentPic);
            parameters.AddInParameter("PresentThumb", DbType.String, PresentInfo.PresentThumb);
            parameters.AddInParameter("@Unit", DbType.String, PresentInfo.Unit);
            parameters.AddInParameter("@PresentNum", DbType.String, PresentInfo.PresentNum);
            parameters.AddInParameter("@ServiceTermUnit", DbType.Int32, PresentInfo.ServiceTermUnit);
            parameters.AddInParameter("@ServiceTerm", DbType.Int32, PresentInfo.ServiceTerm);
            parameters.AddInParameter("@Price", DbType.Currency, PresentInfo.Price);
            parameters.AddInParameter("@Price_Market", DbType.Currency, PresentInfo.PriceMarket);
            parameters.AddInParameter("@Weight", DbType.Double, PresentInfo.Weight);
            parameters.AddInParameter("@Stocks", DbType.Int32, PresentInfo.Stocks);
            parameters.AddInParameter("@AlarmNum", DbType.Int32, PresentInfo.AlarmNum);
            parameters.AddInParameter("@ProductCharacter", DbType.Int32, PresentInfo.ProductCharacter);
            parameters.AddInParameter("@DownloadUrl", DbType.String, PresentInfo.DownloadUrl);
            parameters.AddInParameter("@Remark", DbType.String, PresentInfo.Remark);
            parameters.AddInParameter("@PresentIntro", DbType.String, PresentInfo.PresentIntro);
            parameters.AddInParameter("@PresentExplain", DbType.String, PresentInfo.PresentExplain);
            return parameters;
        }

        public int GetPresentTotal()
        {
            return this.m_TotalOfPresents;
        }

        public IList<string> GetUnitList()
        {
            IList<string> list = new List<string>();
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select DISTINCT Unit from PE_Present"))
            {
                while (reader.Read())
                {
                    list.Add(reader.GetString("Unit"));
                }
            }
            return list;
        }

        private static PresentInfo PresentFromrdr(NullableDataReader rdr)
        {
            PresentInfo info = new PresentInfo();
            info.PresentId = rdr.GetInt32("PresentID");
            info.PresentName = rdr.GetString("PresentName");
            info.PresentPic = rdr.GetString("PresentPic");
            info.PresentThumb = rdr.GetString("PresentThumb");
            info.Unit = rdr.GetString("Unit");
            info.PresentNum = rdr.GetString("PresentNum");
            info.ServiceTermUnit = (ServiceTermUnit) rdr.GetInt32("ServiceTermUnit");
            info.ServiceTerm = rdr.GetInt32("ServiceTerm");
            info.Price = rdr.GetDecimal("Price");
            info.PriceMarket = rdr.GetDecimal("Price_Market");
            info.Weight = rdr.GetDouble("Weight");
            info.ProductCharacter = (ProductCharacter) rdr.GetInt32("ProductCharacter");
            info.Stocks = rdr.GetInt32("Stocks");
            info.DownloadUrl = rdr.GetString("DownloadUrl");
            info.Remark = rdr.GetString("Remark");
            info.AlarmNum = rdr.GetInt32("AlarmNum");
            info.PresentIntro = rdr.GetString("PresentIntro");
            info.PresentExplain = rdr.GetString("PresentExplain");
            return info;
        }

        public bool UpdatePressent(PresentInfo info)
        {
            StringBuilder builder = new StringBuilder(0x80);
            builder.Append("UPDATE ");
            builder.Append("PE_Present");
            builder.Append(" SET ");
            string[] strArray = "PresentID,PresentName,PresentNum,Unit,PresentPic,PresentThumb,ServiceTermUnit,ServiceTerm,Price,Price_Market,Weight,Stocks,AlarmNum,ProductCharacter,DownloadUrl,Remark,PresentIntro,PresentExplain".Split(new char[] { ',' });
            string[] strArray2 = "@PresentID,@PresentName,@PresentNum,@Unit,@PresentPic,@PresentThumb,@ServiceTermUnit,@ServiceTerm,@Price,@Price_Market,@Weight,@Stocks,@AlarmNum,@ProductCharacter,@DownloadUrl,@Remark,@PresentIntro,@PresentExplain".Split(new char[] { ',' });
            for (int i = 0; i < strArray.Length; i++)
            {
                builder.Append(strArray[i]);
                builder.Append("=");
                builder.Append(strArray2[i]);
                builder.Append(",");
            }
            builder.Remove(builder.Length - 1, 1);
            builder.Append(" WHERE PresentID=@PresentID");
            return DBHelper.ExecuteSql(builder.ToString(), GetPresentParameters(info));
        }
    }
}

⌨️ 快捷键说明

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