网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

实战剖析三层架构(二)实例代码

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

前段时间写了《实战剖析三层架构》,看有些朋友希望提供一下代码。但近期博客园上关于三层架构的文章很多,而且写得都很好,所以就不准备被再写了。不过这几天又有朋友留言鼓励,而且编程中发现一段比较合适的,所以还是决定写出来共享给大家。

    先简要介绍一下,这个模块是一个商品管理模块。程序中实现了商品的浏览、添加、修改等功能。

    Model项目,商品品牌实体类,BrandInfo.cs:

  1. using System; 
  2.  
  3. namespace JKL.eShop.Model 
  4.     /// <summary> 
  5.     /// 品牌元数据 
  6.     /// </summary> 
  7.     [Serializable] 
  8.     public class BrandInfo 
  9.     { 
  10.         /*************************************************** 
  11.          * 成员列表 
  12.          ***************************************************/ 
  13.  
  14.         //品牌Id 
  15.         private int _Id; 
  16.         //品牌名称 
  17.         private string _Name; 
  18.         //排序编号 
  19.         private int _Number; 
  20.         //是否为推荐品牌 
  21.         private bool _IsVouch;    
  22.  
  23.         /*************************************************** 
  24.          * 属性列表 
  25.          ***************************************************/ 
  26.  
  27.         /// <summary> 
  28.         /// 品牌Id 
  29.         /// </summary> 
  30.         public int Id 
  31.         { 
  32.             get { return _Id; } 
  33.             set { _Id = value; } 
  34.         } 
  35.  
  36.         /// <summary> 
  37.         /// 品牌名称 
  38.         /// </summary> 
  39.         public string Name 
  40.         { 
  41.             get { return _Name; } 
  42.             set { _Name = value; } 
  43.         } 
  44.  
  45.         /// <summary> 
  46.         /// 排序编号 
  47.         /// </summary> 
  48.         public int OrderNumber 
  49.         { 
  50.             get { return _Number; } 
  51.             set { _Number = value; } 
  52.         } 
  53.  
  54.         /// <summary> 
  55.         /// 是否推荐品牌 
  56.         /// </summary> 
  57.         public bool IsVouch 
  58.         { 
  59.             get { return _IsVouch; } 
  60.             set { _IsVouch = value; } 
  61.         } 
  62.  
  63.         public string Vouch 
  64.         { 
  65.             get 
  66.             { 
  67.                 if (_IsVouch) 
  68.                 { 
  69.                     return "推荐品牌"
  70.                 } 
  71.                 else 
  72.                 { 
  73.                     return "普通品牌"
  74.                 } 
  75.             } 
  76.         } 
  77.  
  78.         /*************************************************** 
  79.          * 构造函数 
  80.          ***************************************************/ 
  81.  
  82.         public BrandInfo() { } 
  83.  
  84.         public BrandInfo(int id, string name) 
  85.         { 
  86.             _Id = id; 
  87.             _Name = name; 
  88.         } 
  89.  
  90.         public BrandInfo(int id, string name, int orderNumber, bool isVouch) 
  91.         { 
  92.             _Id = id; 
  93.             _Name = name; 
  94.             _Number = orderNumber; 
  95.             _IsVouch = isVouch; 
  96.         } 
  97.     } 

 Model项目:GoodSortInfo.cs

  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Text; 
  4.  
  5. namespace JKL.eShop.Model 
  6.     /// <summary> 
  7.     /// 分类实体类 
  8.     /// </summary> 
  9.     [Serializable] 
  10.     public class GoodSortInfo 
  11.     { 
  12.         /*************************************************** 
  13.          * 成员列表 
  14.           ***************************************************/ 
  15.  
  16.         //分类Id 
  17.         private int _Id; 
  18.         //分类名称 
  19.          private string _Name; 
  20.         //级别 
  21.          private int _Layer;        
  22.         //上级分类 
  23.          private GoodSortInfo _ParentSort; 
  24.         //下级分类数量 
  25.          private int _ChildNumber; 
  26.         //备注 
  27.          private string _Remark; 
  28.  
  29.         /*************************************************** 
  30.          * 属性列表 
  31.          ***************************************************/ 
  32.  
  33.         /// <summary> 
  34.         /// 分类Id       
  35.         /// </summary> 
  36.         public int Id 
  37.         { 
  38.             get { return _Id; } 
  39.             set { _Id = value; } 
  40.         } 
  41.  
  42.         /// <summary> 
  43.         /// 分类名称 
  44.         /// </summary> 
  45.         public string Name 
  46.         { 
  47.             get { return _Name; } 
  48.             set { _Name = value; } 
  49.         } 
  50.  
  51.         /// <summary> 
  52.         /// 分类等级 
  53.         /// </summary> 
  54.         public int Layer 
  55.         { 
  56.             get { return _Layer; } 
  57.             set { _Layer = value; } 
  58.         } 
  59.  
  60.         /// <summary> 
  61.         /// 上级分类 
  62.         /// </summary> 
  63.         public GoodSortInfo ParentSort 
  64.         { 
  65.             get { return _ParentSort; } 
  66.             set { _ParentSort = value; } 
  67.         } 
  68.  
  69.         /// <summary> 
  70.         /// 上级分类Id 
  71.         /// </summary> 
  72.         public int ParentId 
  73.         { 
  74.             get { return _ParentSort.Id; } 
  75.         } 
  76.  
  77.         /// <summary> 
  78.         /// 下级分类数量 
  79.         /// </summary> 
  80.         public int ChildSortCount 
  81.         { 
  82.             get { return _ChildNumber; } 
  83.             set { _ChildNumber = value; } 
  84.         } 
  85.  
  86.         /// <summary> 
  87.         /// 备注 
  88.         /// </summary> 
  89.         public string Remark 
  90.         { 
  91.             get { return _Remark; } 
  92.             set { _Remark = value; } 
  93.         } 
  94.  
  95.         /*************************************************** 
  96.          * 构造函数 
  97.          ***************************************************/ 
  98.  
  99.         public GoodSortInfo() { } 
  100.  
  101.         public GoodSortInfo(int id) 
  102.         { 
  103.             _Id = id; 
  104.         } 
  105.  
  106.         public GoodSortInfo(int id, string name) 
  107.         { 
  108.             _Id = id; 
  109.             _Name = name; 
  110.         } 
  111.  
  112.         public GoodSortInfo(int id, string name, int depth, int childNumber) 
  113.         { 
  114.             _Id = id; 
  115.             _Name = name; 
  116.             _Layer = depth;          
  117.             _ChildNumber = childNumber; 
  118.         } 
  119.     } 

   Model项目,GoodInfo.cs: 

  1. using System; 
  2. using System.Collections; 
  3. using System.Collections.Generic; 
  4.  
  5. namespace JKL.eShop.Model 
  6.     /// <summary> 
  7.     /// 商品元数据 
  8.     /// </summary>    
  9.     [Serializable] 
  10.     public class GoodInfo 
  11.     { 
  12.         /*************************************************** 
  13.          * 成员列表 
  14.          ***************************************************/ 
  15.  
  16.         //商品Id 
  17.         private int _Id; 
  18.         //商品名称 
  19.         private string _Name; 
  20.         //品牌 
  21.         private BrandInfo _BrandInfo; 
  22.         //分类 
  23.         private GoodSortInfo _SortInfo; 
  24.         //商品编码 
  25.         private string _Code; 
  26.         //条形码 
  27.         private string _Barcode;       
  28.       
  29.         //单位(个/盒/袋等) 
  30.         private string _Unit; 
  31.         //规格 
  32.         private string _Standard; 
  33.         //简介 
  34.         private string _SimpleIntroduction; 
  35.         //详细说明 
  36.         private string _DetailIntroduction; 
  37.         //图片路径 
  38.         private string _PicturePath; 
  39.  
  40.         //发布日期 
  41.         private DateTime _PublicTime; 
  42.         //更新日期 
  43.         private DateTime _UpdateTime; 
  44.         //市场价 
  45.         private decimal _MarketPrice; 
  46.         //零售价 
  47.         private decimal _SellPrice; 
  48.         //赠送积分 
  49.         private decimal _Score; 
  50.  
  51.         //浏览次数 
  52.         private int _ClickCount; 
  53.         //上一次浏览时间 
  54.         private DateTime _ClickTime; 
  55.  
  56.         //商品种类 
  57.         private string _KindName; 
  58.  
  59.         //库存数量 
  60.         private int _Stock; 
  61.  
  62.         //是否显示 
  63.         private bool _Visable = false
  64.  
  65.         关键字段枚举 
  66.  
  67.         /*************************************************** 
  68.          * 属性列表 
  69.          ***************************************************/ 
  70.  
  71.         public int Id 
  72.         { 
  73.             get { return _Id; } 
  74.             set { _Id = value; } 
  75.         } 
  76.  
  77.         /// <summary> 
  78.         /// 商品编码 
  79.         /// </summary> 
  80.         public string Code 
  81.         { 
  82.             get { return _Code; } 
  83.             set { _Code = value; } 
  84.         } 
  85.  
  86.         /// <summary> 
  87.         /// 条形码 
  88.         /// </summary> 
  89.         public string Barcode 
  90.         { 
  91.             get { return _Barcode; } 
  92.             set { _Barcode = value; } 
  93.         } 
  94.  
  95.         /// <summary> 
  96.         /// 品牌 
  97.         /// </summary> 
  98.         public BrandInfo BrandInfo 
  99.         { 
  100.             get 
  101.             { 
  102.                 if (_BrandInfo == null
  103.                 { 
  104.                     _BrandInfo = new BrandInfo(); 
  105.                 } 
  106.                 return _BrandInfo; 
  107.             } 
  108.             set { _BrandInfo = value; } 
  109.         } 
  110.  
  111.         /// <summary> 
  112.         /// 品牌名称 
  113.         /// </summary> 
  114.         public string BrandName 
  115.         { 
  116.             get { return this.BrandInfo.Name; } 
  117.             set { this.BrandInfo.Name = value; } 
  118.         } 
  119.  
  120.         /// <summary> 
  121.         /// 商品分类 
  122.         /// </summary> 
  123.         public GoodSortInfo Sort 
  124.         { 
  125.             get { return _SortInfo; } 
  126.             set { _SortInfo = value; } 
  127.         } 
  128.         
  129.         /// <summary> 
  130.         /// 商品名称 
  131.         /// </summary> 
  132.         public string Name 
  133.         { 
  134.             get { return _Name; } 
  135.             set { _Name = value; } 
  136.         } 
  137.  
  138.         /// <summary> 
  139.         /// 单位(个/盒/袋等) 
  140.         /// </summary> 
  141.         public string Unit 
  142.         { 
  143.             get { return _Unit; } 
  144.             set { _Unit = value; } 
  145.         } 
  146.  
  147.         /// <summary> 
  148.         /// 规格 
  149.         /// </summary> 
  150.         public string Standard 
  151.         { 
  152.             get { return _Standard; } 
  153.             set { _Standard = value; } 
  154.         } 
  155.  
  156.         /// <summary> 
  157.         /// 简介 
  158.         /// </summary> 
  159.         public string SimpleIntroduction 
  160.         { 
  161.             get { return _SimpleIntroduction; } 
  162.             set { _SimpleIntroduction = value; } 
  163.         } 
  164.  
  165.         /// <summary> 
  166.         /// 详细说明 
  167.         /// </summary> 
  168.         public string DetailIntroduction 
  169.         { 
  170.             get { return _DetailIntroduction; } 
  171.             set { _DetailIntroduction = value; } 
  172.         } 
  173.  
  174.         /// <summary> 
  175.         /// 图片路径 
  176.         /// </summary> 
  177.         public string PicturePath 
  178.         { 
  179.             get { return _PicturePath; } 
  180.             set { _PicturePath = value; } 
  181.         } 
  182.  
  183.         /// <summary> 
  184.         /// 发布日期 
  185.         /// </summary> 
  186.         public DateTime PublicTime 
  187.         { 
  188.             get { return _PublicTime; } 
  189.             set { _PublicTime = value; } 
  190.         } 
  191.  
  192.         /// <summary> 
  193.         /// 更新日期 
  194.         /// </summary> 
  195.         public DateTime UpdateTime 
  196.         { 
  197.             get { return _UpdateTime; } 
  198.             set { _UpdateTime = value; } 
  199.         } 
  200.  
  201.         /// <summary> 
  202.         /// 市场价 
  203.         /// </summary> 
  204.         public decimal MarketPrice 
  205.         { 
  206.             get { return _MarketPrice; } 
  207.             set { _MarketPrice = value; } 
  208.         } 
  209.  
  210.         /// <summary> 
  211.         /// 零售价 
  212.         /// </summary> 
  213.         public decimal SellPrice 
  214.         { 
  215.             get { return _SellPrice; } 
  216.             set { _SellPrice = value; } 
  217.         } 
  218.  
  219.         /// <summary> 
  220.         /// 赠送积分 
  221.         /// </summary> 
  222.         public decimal Score 
  223.         { 
  224.             get { return _Score; } 
  225.             set { _Score = value; } 
  226.         } 
  227.  
  228.         /// <summary> 
  229.         /// 浏览次数 
  230.         /// </summary> 
  231.         public int ClickCount 
  232.         { 
  233.             get { return _ClickCount; } 
  234.             set { _ClickCount = value; } 
  235.         } 
  236.  
  237.         /// <summary> 
  238.         /// 上次浏览时间 
  239.         /// </summary> 
  240.         public DateTime ClickTime 
  241.         { 
  242.             get { return _ClickTime; } 
  243.             set { _ClickTime = value; } 
  244.         } 
  245.  
  246.         public string KindName 
  247.         { 
  248.             get { return _KindName; } 
  249.             set { _KindName = value; } 
  250.         } 
  251.  
  252.         /// <summary> 
  253.         /// 库存数量 
  254.         /// </summary> 
  255.         public int Stock 
  256.         { 
  257.             get { return _Stock; } 
  258.             set { _Stock = value; } 
  259.         } 
  260.  
  261.         /// <summary> 
  262.         /// 是否显示 
  263.         /// </summary> 
  264.         public bool Visable 
  265.         { 
  266.             get { return _Visable; } 
  267.             set { _Visable = value; } 
  268.         } 
  269.       
  270.         /*************************************************** 
  271.          * 构造函数 
  272.          ***************************************************/ 
  273.  
  274.         public GoodInfo() { } 
  275.  
  276.         public GoodInfo(int id, string code, string name, string picturePath, decimal marketPrice, decimal sellPrice, string unit, string standard, int stock) 
  277.         { 
  278.             _Id = id; 
  279.             _Code = code; 
  280.             _Name = name; 
  281.             _PicturePath = picturePath; 
  282.             _MarketPrice = marketPrice; 
  283.             _SellPrice = sellPrice; 
  284.             _Unit = unit; 
  285.             _Standard = standard; 
  286.             _Stock = stock; 
  287.         } 
  288.  
  289.         public GoodInfo(int id, string code, string name, string picturePath, string brandName, string kindName, string standard, string simpleIntroduction, DateTime publicTime, decimal marketPrice, decimal sellPrice, string unit, decimal score, int clickNumber) 
  290.         { 
  291.             _Id = id; 
  292.             _Code = code; 
  293.             _Name = name; 
  294.             _PicturePath = picturePath; 
  295.             this.BrandName = brandName; 
  296.             _KindName = kindName; 
  297.             _Standard = standard; 
  298.             _SimpleIntroduction = simpleIntroduction; 
  299.             _PublicTime = publicTime; 
  300.             _MarketPrice = marketPrice ; 
  301.             _SellPrice = sellPrice; 
  302.             _Unit = unit; 
  303.             _Score = score; 
  304.             _ClickCount = clickNumber; 
  305.             _Stock = Stock; 
  306.         } 
  307.  
  308.         public GoodInfo(int id, string code, string name, string picturePath, string brandName, string kindName, string standard, string simpleIntroduction, string detailIntroduction, decimal marketPrice, decimal sellPrice, string unit, decimal score, int clickNumber, DateTime publicTime, int stock) 
  309.         { 
  310.             _Id = id; 
  311.             _Code = code; 
  312.             _Name = name; 
  313.             _PicturePath = picturePath; 
  314.             this.BrandName = brandName; 
  315.             _KindName = kindName; 
  316.             _Standard = standard; 
  317.             _SimpleIntroduction = simpleIntroduction; 
  318.             _DetailIntroduction = detailIntroduction; 
  319.             _MarketPrice = marketPrice; 
  320.             _SellPrice = sellPrice; 
  321.             _Unit = unit; 
  322.             _Score = score; 
  323.             _ClickCount = clickNumber; 
  324.             _PublicTime = publicTime; 
  325.             _Stock = stock; 
  326.         } 
  327.     } 

 BLL项目:GoodBLL.cs

  1. using System; 
  2. using System.Collections.Generic; 
  3. using JKL.eShop.DAL; 
  4. using JKL.eShop.Model; 
  5.  
  6. namespace JKL.eShop.BLL 
  7.     /// <summary> 
  8.     ///  
  9.     /// </summary> 
  10.     public class GoodBLL 
  11.     { 
  12.         /* ************************************************** 
  13.          * 成员列表 
  14.          * *************************************************/ 
  15.  
  16.         private GoodDAL _GoodDal = null
  17.  
  18.         /* ************************************************** 
  19.          * 属性列表 
  20.          * *************************************************/ 
  21.  
  22.         private GoodDAL GoodDal 
  23.         { 
  24.             get 
  25.             { 
  26.                 if (_GoodDal == null
  27.                 { 
  28.                     _GoodDal = new GoodDAL(); 
  29.                 } 
  30.                 return _GoodDal; 
  31.             } 
  32.         } 
  33.  
  34.         /* ************************************************** 
  35.          * 公共方法 
  36.          * *************************************************/ 
  37.  
  38.         /// <summary> 
  39.         /// 更新商品信息 
  40.         /// </summary> 
  41.         /// <param name="goodInfo"></param> 
  42.         /// <returns></returns> 
  43.         public bool ChangeGood(GoodInfo goodInfo) 
  44.         { 
  45.             return false
  46.         } 
  47.  
  48.         /// <summary> 
  49.         /// 商品变价 
  50.         /// </summary> 
  51.         /// <param name="goodinfo"></param> 
  52.         /// <returns></returns> 
  53.         public bool ChangePrice(GoodInfo goodinfo) 
  54.         { 
  55.             return this.GoodDal.UpdateGoodsPrice(goodinfo); 
  56.         } 
  57.  
  58.         /// <summary> 
  59.         /// 根据ID返回商品的详细信息 
  60.         /// </summary> 
  61.         /// <param name="goodId"></param> 
  62.         /// <returns></returns> 
  63.         public GoodInfo GetGood(int goodId) 
  64.         { 
  65.             GoodInfo good = this.GoodDal.SelectGood(goodId); 
  66.             good.ClickCount++; 
  67.             this.GoodDal.UpdateGood(good); 
  68.             return good; 
  69.         } 
  70.  
  71.         #region 返回商品信息列表 
  72.  
  73.         /// <summary> 
  74.         /// 返回所有商品的列表 
  75.         /// </summary> 
  76.         /// <returns></returns> 
  77.         public IList<GoodInfo> GetGoodsList() 
  78.         { 
  79.             return this.GoodDal.SelectGoods(); 
  80.         } 
  81.  
  82.         /// <summary> 
  83.         /// 返回指定分类的所属商品列表 
  84.         /// </summary> 
  85.         /// <param name="sortId">分类Id</param> 
  86.         /// <returns></returns> 
  87.         public IList<GoodInfo> GetGoodsListBySort(int sortId) 
  88.         { 
  89.             return this.GoodDal.SelectGoodsBySort(sortId); 
  90.         } 
  91.  
  92.         /// <summary> 
  93.         /// 根据热门程度的类型返回商品列表 
  94.         /// </summary> 
  95.         /// <param name="sortId"></param> 
  96.         /// <returns></returns> 
  97.         public IList<GoodInfo> GetGoodsListByPop(string popKind) 
  98.         { 
  99.             return this.GoodDal.SelectGoodsListByPop(1000, popKind); 
  100.         } 
  101.  
  102.         /// <summary> 
  103.         /// 返回指定品牌的所属商品列表 
  104.         /// </summary> 
  105.         /// <param name="brandName"></param> 
  106.         /// <returns></returns> 
  107.         public IList<GoodInfo> GetGoodsListByBrand(string brandName) 
  108.         { 
  109.             GoodDAL goodDal = new GoodDAL(); 
  110.             return goodDal.SelectGoodsListByBrand(brandName);         
  111.         } 
  112.  
  113.         public IList<GoodInfo> GetGoodsBrief() 
  114.         { 
  115.             return this.GoodDal.SelectGoodsBrief(); 
  116.         } 
  117.  
  118.         /// <summary> 
  119.         ///  
  120.         /// </summary> 
  121.         /// <param name="topNumber"></param> 
  122.         /// <param name="kindName"></param> 
  123.         /// <returns></returns> 
  124.         public IList<GoodInfo> GetGoodsBriefByKind(int topNumber, string kindName) 
  125.         { 
  126.             return this.GoodDal.SelectGoodsBriefByKind(topNumber, kindName); 
  127.         } 
  128.  
  129.         public IList<GoodInfo> GetGoodsListByKind(string kindName) 
  130.         { 
  131.             return this.GoodDal.SelectGoodsListByKind(kindName); 
  132.         } 
  133.  
  134.         #endregion 
  135.  
  136.         #region 商品查询部分 
  137.  
  138.         public IList<GoodInfo> QueryGoodsList(string keyword) 
  139.         { 
  140.             GoodDAL goodDal = new GoodDAL(); 
  141.             return goodDal.SelectGoodsListByKeyword(keyword); 
  142.         } 
  143.  
  144.         #endregion 
  145.     } 

DAL项目:GoodDAL.cs

  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Data; 
  4. using System.Data.SqlClient; 
  5. using KoalaStudio.Data.SqlServer; 
  6. using JKL.eShop.Model; 
  7.  
  8. namespace JKL.eShop.DAL 
  9.     /// <summary> 
  10.     ///  
  11.     /// </summary> 
  12.     public class GoodDAL 
  13.     { 
  14.         /* ************************************************** 
  15.          * 成员列表 
  16.          * **************************************************/         
  17.  
  18.         /* ************************************************** 
  19.          * 属性列表 
  20.          * **************************************************/        
  21.  
  22.         /* ************************************************** 
  23.          * 构造函数 
  24.          * **************************************************/ 
  25.  
  26.         public GoodDAL()        {                    } 
  27.  
  28.         /* ************************************************** 
  29.          * 私有和受保护方法 
  30.          * **************************************************/ 
  31.  
  32.         /// <summary> 
  33.         ///  
  34.         /// </summary> 
  35.         /// <param name="sqlText"></param> 
  36.         /// <returns></returns> 
  37.         private IList<GoodInfo> SelectGoodsBrief(string sqlText) 
  38.         { 
  39.             CmdCommand cmd = new CmdCommand(); 
  40.             cmd.CommandText = sqlText; 
  41.             SqlDataReader dr = cmd.ExecuteReader(); 
  42.             IList<GoodInfo> goods = new List<GoodInfo>(); 
  43.             SortDAL sortDal = new SortDAL(); 
  44.             if (dr.HasRows) 
  45.             { 
  46.                 while (dr.Read()) 
  47.                 { 
  48.                     GoodInfo good = new GoodInfo(); 
  49.                     good.Id = Convert.ToInt32(dr["Id"]); ; 
  50.                     good.Code = dr["dianneima"].ToString(); 
  51.                     good.Name = dr["Name"].ToString(); 
  52.                     string picturePath = dr["Picture"].ToString(); 
  53.                     good.PicturePath = picturePath.Substring(0, picturePath.IndexOf("|||")); 
  54.                     good.MarketPrice = Convert.ToDecimal(dr["MarketPrice"]); ; 
  55.                     good.SellPrice = Convert.ToDecimal(dr["MemberPrice"]); 
  56.                     good.Unit = dr["DanWei"].ToString(); 
  57.                     good.Standard = dr["GuiGe"].ToString(); 
  58.                     goods.Add(good); 
  59.                 } 
  60.                 dr.Close(); 
  61.                 cmd.Disconnection(); 
  62.             } 
  63.             return goods; 
  64.         } 
  65.  
  66.         /// <summary> 
  67.         ///  
  68.         /// </summary> 
  69.         /// <param name="sqlText"></param> 
  70.         /// <returns></returns> 
  71.         private IList<GoodInfo> SelectGoodsList(string sqlText) 
  72.         { 
  73.             CmdCommand cmd = new CmdCommand(); 
  74.             cmd.CommandText  = sqlText; 
  75.             SqlDataReader dr = cmd.ExecuteReader(); 
  76.             IList<GoodInfo> goods = new List<GoodInfo>(); 
  77.             SortDAL sortDal = new SortDAL(); 
  78.             if (dr.HasRows) 
  79.             { 
  80.                 while (dr.Read()) 
  81.                 { 
  82.                     GoodInfo good = new GoodInfo(); 
  83.                     good.Id = Convert.ToInt32(dr["Id"]); 
  84.                     good.Name = dr["Name"].ToString(); 
  85.                     good.BrandInfo.Name = dr["Brand"].ToString();                    
  86.                     good.Code = dr["dianneima"].ToString(); 
  87.                     string picturePath = dr["Picture"].ToString(); 
  88.                     good.PicturePath = picturePath.Substring(0, picturePath.IndexOf("|||")); 
  89.                     good.KindName = dr["Kind"].ToString(); 
  90.                     good.Standard = dr["GuiGe"].ToString(); 
  91.                     good.SimpleIntroduction = dr["Introduce"].ToString(); 
  92.                     good.PublicTime = Convert.ToDateTime(dr["JoinDate"]); 
  93.                     good.MarketPrice = Convert.ToDecimal(dr["MarketPrice"]); ; 
  94.                     good.SellPrice = Convert.ToDecimal(dr["MemberPrice"]); 
  95.                     good.Unit = dr["DanWei"].ToString(); 
  96.                     good.Score = Convert.ToDecimal(dr["Score"]); 
  97.                     good.ClickCount = Convert.ToInt32(dr["TotalHits"]); 
  98.                     goods.Add(good); 
  99.                 } 
  100.                 dr.Close(); 
  101.                 cmd.Disconnection(); 
  102.             } 
  103.             return goods; 
  104.         } 
  105.  
  106.         /* ************************************************** 
  107.          * 公共方法 
  108.          * **************************************************/ 
  109.  
  110.         /// <summary> 
  111.         /// 更新商品的价格和库存信息 
  112.         /// </summary> 
  113.         /// <returns></returns> 
  114.         public bool UpdateGoodsPrice(GoodInfo goodInfo) 
  115.         { 
  116.             CmdCommand cmd = new CmdCommand(); 
  117.             cmd.CommandText = "UPDATE SW_Product SET MarketPrice = " + goodInfo.MarketPrice + ", MemberPrice = " + goodInfo.SellPrice + ", Stock = " + goodInfo.Stock + ", ModiDate = '" + DateTime.Now + "' WHERE Id = " + goodInfo.Id; 
  118.             cmd.ExecuteNonQuery(); 
  119.             return true
  120.         } 
  121.  
  122.         /// <summary> 
  123.         /// 更新商品信息 
  124.         /// 当前仅支持更新点击率一项 
  125.         /// </summary> 
  126.         /// <param name="good"></param> 
  127.         /// <returns></returns> 
  128.         public bool UpdateGood(GoodInfo good) 
  129.         { 
  130.             CmdCommand cmd = new CmdCommand(); 
  131.             cmd.CommandText = "UPDATE eShop_Goods SET ClickCount = " + good.ClickCount + " WHERE GoodId = " + good.Id;            
  132.             cmd.ExecuteNonQuery(); 
  133.             return true;           
  134.         } 
  135.  
  136.         /// <summary> 
  137.         /// 返回所有商品列表 
  138.         /// </summary> 
  139.         /// <returns></returns> 
  140.         public IList<GoodInfo> SelectGoods() 
  141.         { 
  142.             string sqlText = "SELECT * FROM eShop_Goods"
  143.             return this.SelectGoodsList(sqlText); 
  144.         } 
  145.  
  146.         /// <summary> 
  147.         /// 返回指定分类的所属商品列表 
  148.         /// </summary> 
  149.         /// <param name="sortId"></param> 
  150.         /// <returns></returns> 
  151.         public IList<GoodInfo> SelectGoodsBySort(int sortId) 
  152.         {          
  153.             string sqlText = "SELECT * FROM SW_Product WHERE  Hide = 0 AND ClassId IN (SELECT ClassId FROM SW_Class WHERE Parentstr LIKE '%" + sortId + "%' OR ClassId = " + sortId + ")"
  154.             return this.SelectGoodsList(sqlText); 
  155.         } 
  156.  
  157.         /// <summary> 
  158.         /// 返回指定排行类型的所属商品列表 
  159.         /// </summary> 
  160.         /// <param name="topNumber"></param> 
  161.         /// <param name="popName"></param> 
  162.         /// <returns></returns> 
  163.         public IList<GoodInfo> SelectGoodsByPop(int topNumber, string popName) 
  164.         { 
  165.             string sqlText = "SELECT TOP " + topNumber + " Id, dianneima, Name, Picture, Brand, GuiGe, CASE Kind WHEN 0 THEN '最新上架' WHEN 1 THEN '推荐商品' WHEN 2 THEN '特价商品' END AS Kind, Introduce, JoinDate, MarketPrice, MemberPrice, DanWei, Score, TotalHits, Stock FROM SW_Product WHERE Hide = 0 ORDER BY " + GoodInfo.PopList[popName].ToString() + " DESC"
  166.             return this.SelectGoodsList(sqlText); 
  167.         } 
  168.  
  169.         /// <summary> 
  170.         /// 返回指定品牌的所属商品列表 
  171.         /// </summary> 
  172.         /// <param name="brandName"></param> 
  173.         /// <returns></returns> 
  174.         public IList<GoodInfo> SelectGoodsByBrand(string brandName) 
  175.         { 
  176.             string sqlText = "SELECT * FROM SW_Product WHERE Hide = 0 AND Brand = '" + brandName + "'"
  177.             return this.SelectGoodsList(sqlText); 
  178.         } 
  179.  
  180.         /// <summary> 
  181.         /// 返回所有商品列表,按简要说明返回 
  182.         /// </summary> 
  183.         /// <returns></returns> 
  184.         public IList<GoodInfo> SelectGoodsBrief() 
  185.         { 
  186.             string sqlText = "SELECT Id, dianneima, Name, Picture, MarketPrice, MemberPrice, DanWei, GuiGe, Stock FROM SW_Product"
  187.             return this.SelectGoodsBrief(sqlText); 
  188.         } 
  189.  
  190.         /// <summary> 
  191.         /// 返回指定分区的所属商品列表,按简要说明返回 
  192.         /// </summary> 
  193.         /// <returns></returns> 
  194.         public IList<GoodInfo> SelectGoodsBriefByKind(int topNumber, string kindName) 
  195.         { 
  196.             string sqlText = "SELECT TOP " + topNumber + " Id, dianneima, Name, Picture, MarketPrice, MemberPrice, DanWei, GuiGe, Stock FROM SW_Product WHERE Hide = 0 AND Kind = " + GoodInfo.KindList[kindName].ToString() + " ORDER BY JoinDate DESC"
  197.             return this.SelectGoodsBrief(sqlText); 
  198.         } 
  199.  
  200.         /// <summary> 
  201.         /// 返回指定分区的所属商品列表 
  202.         /// </summary> 
  203.         /// <param name="kindName"></param> 
  204.         /// <returns></returns> 
  205.         public IList<GoodInfo> SelectGoodsListByKind(string kindName) 
  206.         { 
  207.             string sqlText = "SELECT Id, dianneima, Name, Picture, Brand, GuiGe, CASE Kind WHEN 0 THEN '最新上架' WHEN 1 THEN '推荐商品' WHEN 2 THEN '特价商品' END AS Kind, Introduce, JoinDate, MarketPrice, MemberPrice, DanWei, Score, TotalHits, Stock FROM SW_Product WHERE Hide = 0 AND (Kind = " + GoodInfo.KindList[kindName].ToString() + ") ORDER BY JoinDate DESC"
  208.             return this.SelectGoodsList(sqlText);            
  209.         }         
  210.  
  211.         /// <summary> 
  212.         /// 返回商品的详细信息 
  213.         /// </summary> 
  214.         /// <param name="goodId"></param> 
  215.         /// <returns></returns> 
  216.         public GoodInfo SelectGood(int goodId) 
  217.         { 
  218.             CmdCommand cmd = new CmdCommand(); 
  219.             cmd.CommandText = "SELECT TOP 1 Id, dianneima, Name, Picture, Brand, GuiGe, CASE Kind WHEN 0 THEN '最新上架' WHEN 1 THEN '推荐商品' WHEN 2 THEN '特价商品' END AS Kind, Introduce, JoinDate, Detail, MarketPrice, MemberPrice, DanWei, Score, TotalHits, Stock FROM SW_Product WHERE Hide = 0 AND Id = " + goodId; 
  220.             SqlDataReader dr = cmd.ExecuteReader(); 
  221.             GoodInfo good; 
  222.             if (dr.HasRows) 
  223.             { 
  224.                 dr.Read(); 
  225.                 string picturePath = dr["Picture"].ToString(); 
  226.                 picturePath = picturePath.Substring(0, picturePath.IndexOf("|||")); 
  227.                 good = new GoodInfo(Convert.ToInt32(dr["Id"]), dr["dianneima"].ToString(), dr["Name"].ToString(), picturePath, dr["Brand"].ToString(), dr["Kind"].ToString(), dr["GuiGe"].ToString(), dr["Introduce"].ToString(), dr["Detail"].ToString(), Convert.ToDecimal(dr["MarketPrice"]), Convert.ToDecimal(dr["MemberPrice"]), dr["DanWei"].ToString(), Convert.ToDecimal(dr["Score"]), Convert.ToInt32(dr["TotalHits"]), Convert.ToDateTime(dr["JoinDate"]), Convert.ToInt32(dr["Stock"])); 
  228.                 dr.Close(); 
  229.                 cmd.Disconnection(); 
  230.             } 
  231.             else 
  232.             { 
  233.                 good = new GoodInfo(); 
  234.             } 
  235.             return good; 
  236.         } 
  237.  
  238.         /// <summary> 
  239.         /// 根据关键字返回商品列表 
  240.         /// </summary> 
  241.         /// <param name="queryString"></param> 
  242.         /// <returns></returns> 
  243.         public IList<GoodInfo> SelectGoodsListByKeyword(string keyword) 
  244.         { 
  245.             string sqlText = "SELECT Id, dianneima, Name, Picture, Brand, GuiGe, CASE Kind WHEN 0 THEN '最新上架' WHEN 1 THEN '推荐商品' WHEN 2 THEN '特价商品' END AS Kind, Introduce, JoinDate, MarketPrice, MemberPrice, DanWei, Score, TotalHits, Stock FROM SW_Product WHERE Hide = 0 AND Name like '%" + keyword + "%'"
  246.             return this.SelectGoodsList(sqlText); 
  247.         } 
  248.  
  249.         /// <summary> 
  250.         /// 新增商品 
  251.         /// </summary> 
  252.         /// <param name="good"></param> 
  253.         /// <returns></returns> 
  254.         public bool InsertGood(GoodInfo good) 
  255.         { 
  256.             CmdCommand cmd = new CmdCommand(); 
  257.             cmd.CommandText = "INSERT INTO eShop_Goods (SortId, [Name], BrandId, Code, Barcode, Unit, [Standard], PicturePath, SimpleIntroduction, DetailIntroduction, MarketPrice, SellPrice, PublicTime, UpdateTime, ClickCount, ClickTime, Stock) VALUES (" + good.Sort.Id + ", '" + good.Name + "', " + good.BrandInfo.Id + ", '" + good.Code + "', '" + good.Barcode + "', '" + good.Unit + "', '" + good.Standard + "', '" + good.PicturePath + "', '" + good.SimpleIntroduction + "', '" + good.DetailIntroduction + "', " + good.MarketPrice + ", " + good.SellPrice + ", '" + good.PublicTime + "', '" + good.UpdateTime + "', " + good.ClickCount + ", '" + good.ClickTime + "', " + good.Stock + ")"
  258.             cmd.ExecuteNonQuery(); 
  259.             return true
  260.         }         
  261.     } 
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师