温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:MyShop网络商城源码(mvc开发)
当前文件:
MyShop/BLL/Product.cs,打开代码结构图
MyShop/BLL/Product.cs,打开代码结构图
using System;
using System.Collections.Generic;
using System.Data;
using MyShop.Model;
using MyShop.IDAL;
using MyShop.DALFactory;
namespace MyShop.BLL
{
public class Product
{
private IProduct dal = DataAccess.CreateProduct();
private ConfigInfo configInfo = new ConfigInfo();
private string tableName = "Ljh_Products";
private int _id;
public Product()
{
if (!string.IsNullOrEmpty(configInfo.TablePrefix.Trim()))
tableName = configInfo.TablePrefix + "Products";
}
public Product(int id)
{
if (!string.IsNullOrEmpty(configInfo.TablePrefix.Trim()))
tableName = configInfo.TablePrefix + "Products";
this._id = id;
}
#region IProduct member
public int Add(ProductInfo model)
{
if (model == null)
{
return 0;
}
return dal.Add(model);
}
public int Delete(string filter)
{
if (string.IsNullOrEmpty(filter))
return 0;
return dal.Delete(filter);
}
public bool Exist(string filter)
{
filter = filter.Trim();
if (string.IsNullOrEmpty(filter))
return false;
return dal.Exist(filter);
}
public DataSet GetDataSet()
{
return dal.GetDataSet();
}
public DataSet GetDataSet(string filter)
{
filter = filter.Trim();
if (string.IsNullOrEmpty(filter))
return null;
return dal.GetDataSet(filter);
}
public DataSet GetDataSet(int productId)
{
if (productId <= 0)
return null;
string filter = " productId=" + productId;
return GetDataSet(filter);
}
public ProductInfo GetModel(DataRow dr)
{
if (dr == null)
return null;
return dal.GetModel(dr);
}
private DataSet Query(string sql)
{
sql = sql.Trim();
if (string.IsNullOrEmpty(sql))
return null;
return dal.Query(sql);
}
public int Update(ProductInfo model, string filter)
{
if (model == null)
return 0;
filter = filter.Trim();
if (string.IsNullOrEmpty(filter))
return 0;
return dal.Update(model, filter);
}
#endregion
#region common
public int Add(ProductInfo model, out string msg)
{
msg = "";
if (model == null)
{
msg = msg + "<li>数据不能为空</li>";
return 0;
}
bool isErr = false;
if (string.IsNullOrEmpty(model.ProductName.Trim()))
{
msg = msg + "请输入商品名称";
isErr = true;
}
if (isErr)
return 0;
int count = 0;
count = Add(model);
if (count == 0)
msg = "<li>系统发生错误,请重新添加!</li>";
if (count == 1)
msg = "<li>添加成功!</li>";
return count;
}
/// <summary>
/// 真正从数据库中删除,注意使用时要分清是不是只放到回收站
/// </summary>
/// <param name="productId"></param>
/// <returns></returns>
public int Delete(int productId)
{
if ( string.IsNullOrEmpty( productId.ToString()) )
return 0;
string filer;
filer = " productId =" + productId;
return Delete(filer);
}
public int Update(ProductInfo model)
{
if (model == null)
{
return 0;
}
string filter;
filter = " productId=" + model.ProductId;
return Update(model, filter);
}
public ProductInfo GetModel(int productId)
{
DataSet dataset = new DataSet();
dataset = GetDataSet(" productId=" + productId);
if (dataset != null && dataset.Tables[0].Rows.Count > 0)
return GetModel(dataset.Tables[0].Rows[0]);
return null;
}
#region 获取商品列表
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="EnableSale">是否允许销售</param>
/// <param name="deleted">是否已删除</param>
/// <returns></returns>
public DataSet GetDataSet(bool enableSale, bool deleted)
{
return dal.GetDataSet(enableSale,deleted);
}
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="productKindId">商品大类ID</param>
/// <param name="categoryId">商品小类ID</param>
/// <returns></returns>
public DataSet GetDataSet( int productKindId,int categoryId )
{
return dal.GetDataSet(productKindId,categoryId);
}
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="productKindId">商品大类ID</param>
/// <param name="categoryId">商品小类ID</param>
/// <param name="enableSale">是否允许销售</param>
/// <param name="deleted">是否已删除</param>
/// <returns></returns>
public DataSet GetDataSet( int productKindId,int categoryId ,bool enableSale, bool deleted)
{
return dal.GetDataSet(productKindId,categoryId,enableSale,deleted);
}
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="productKindId">商品大类ID</param>
/// <returns></returns>
public DataSet GetDataSetByProductKindId(int productKindId)
{
return dal.GetDataSetByProductKindId(productKindId);
}
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="productKindId">商品大类ID</param>
/// <param name="deleted">是否已删除</param>
/// <returns></returns>
public DataSet GetDataSetByProductKindId(int productKindId,bool deleted)
{
return dal.GetDataSetByProductKindId(productKindId,deleted);
}
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="productKindId">商品大类ID</param>
/// <param name="enableSale">是否允许销售</param>
/// <param name="deleted">是否已删除</param>
/// <returns></returns>
public DataSet GetDataSetByProductKindId(int productKindId,bool enableSale, bool deleted)
{
return dal.GetDataSetByProductKindId(productKindId,enableSale,deleted);
}
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="categoryId">商品小类ID</param>
/// <returns></returns>
public DataSet GetDataSetByCategoryId(int categoryId)
{
return dal.GetDataSetByCategoryId(categoryId);
}
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="categoryId">商品小类ID</param>
/// <param name="deleted">是否已删除</param>
/// <returns></returns>
public DataSet GetDataSetByCategoryId(int categoryId,bool deleted)
{
return dal.GetDataSetByCategoryId(categoryId,deleted);
}
/// <summary>
/// 获取商品列表
/// </summary>
/// <param name="categoryId">商品小类ID</param>
/// <param name="enableSale">是否允许销售</param>
/// <param name="deleted">是否已删除</param>
/// <returns></returns>
public DataSet GetDataSetByCategoryId(int categoryId,bool enableSale, bool deleted)
{
return dal.GetDataSetByCategoryId(categoryId,enableSale,deleted);
}
public DataSet KeywordsSearch(string keywords)
{
keywords = Utils.ReplaceBadSQL(keywords.Trim());
if (Utils.ChkBadChar(keywords.Trim()) || string.IsNullOrEmpty(keywords.Trim()))
return null;
return dal.KeywordsSearch(keywords);
}
#endregion
#endregion
#region 以下过程要用Product product = new Product(id)实例化后才能进行调用
#region property
/// <summary>
/// 获取当前项目ID
/// </summary>
public int ID
{
get
{
return this._id;
}
}
/// <summary>
/// 获取调查项目的实体
/// </summary>
public ProductInfo Model
{
get
{
return GetModel(this._id);
}
set
{
Update(value);
}
}
/// <summary>
/// 获取当前对象是否存在(数据库中有没有这条记录)
/// </summary>
public bool isExist
{
get
{
return Model == null ? false : true;
}
}
#endregion
#endregion
/// <summary>
/// 最新商品(50个)
/// </summary>
/// <returns></returns>
public DataSet GetNew()
{
return GetNew(50);
}
/// <summary>
/// 获取最新商品
/// </summary>
/// <param name="count">返回商品个数</param>
/// <returns></returns>
public DataSet GetNew( int count)
{
return dal.GetNew(count);
}
/// <summary>
/// 获取所有热卖商品
/// </summary>
/// <returns></returns>
public DataSet GetHot()
{
return GetHot(9999);
}
/// <summary>
/// 获取执卖商品
/// </summary>
/// <param name="count">返回商品个数</param>
/// <returns></returns>
public DataSet GetHot( int count)
{
return dal.GetHot(count);
}
/// <summary>
/// 获取所有推荐商品
/// </summary>
/// <returns></returns>
public DataSet GetElite()
{
return GetElite(9999);
}
/// <summary>
/// 获取推荐商品
/// </summary>
/// <param name="count">返回商品个数</param>
/// <returns></returns>
public DataSet GetElite( int count )
{
return dal.GetElite(count);
}
public DataSet GetDataSetByProductName(string productName)
{
if (string.IsNullOrEmpty(productName))
return null;
return GetDataSet(" productName like '%" + Utils.ReplaceBadSQL(productName) + "%'");
}
/// <summary>
/// 获取销售名次排行
/// </summary>
/// <param name="count"></param>
/// <returns></returns>
public DataSet SalePlace(int count)
{
return dal.SalePlace(count);
}
#region 后台管理
/// <summary>
/// 返回所有未放入回收站的商品
/// </summary>
/// <returns></returns>
public DataSet GetDataSetUndeleted()
{
string filter = " Deleted=0 order by productId desc ";
return GetDataSet(filter);
}
/// <summary>
/// 返回所有放入回收站的商品
/// </summary>
/// <returns></returns>
public DataSet GetDataSetDeleted()
{
string filter = " Deleted=1 order by productId desc ";
return GetDataSet(filter);
}
/// <summary>
/// 快速搜索
/// </summary>
/// <param name="searchType"></param>
/// <param name="deleted">true:返回放到回收站的商品;false:返回未放到回收站的商品</param>
/// <returns></returns>
public DataSet QuickSearch(int searchType,bool deleted)
{
return dal.QuickSearch(searchType,deleted);
}
/// <summary>
/// 高级查询
/// </summary>
/// <param name="field"></param>
/// <param name="keywords"></param>
/// <param name="deleted">true:返回放到回收站的商品;false:返回未放到回收站的商品</param>
/// <returns></returns>
public DataSet KeywordsSearch(string field, string keywords,bool deleted)
{
field = Utils.ReplaceBadSQL(field.Trim().ToLower());
keywords = Utils.ReplaceBadSQL(keywords.ToLower().Trim());
if (string.IsNullOrEmpty(field) || string.IsNullOrEmpty(keywords))
return null;
return dal.KeywordsSearch(field, keywords,deleted);
}
/// <summary>
/// 判断该商品有没有订单
/// </summary>
/// <param name="productId"></param>
/// <returns></returns>
public bool HasOrder(int productId)
{
OrderItem orderItem = new OrderItem();
if (orderItem.GetDataSetByProductId(productId).Tables[0].Rows.Count > 0)
return true;
else
return false;
}
/// <summary>
/// 判断该商品是不是执卖
/// </summary>
/// <param name="productId"></param>
/// <returns>无该商品时返回false</returns>
public bool IsHot(int productId)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return false;
if (model.IsHot == 1)
return true;
else
return false;
}
/// <summary>
/// 取消或设置该商品为执卖
/// </summary>
/// <param name="productId"></param>
/// <param name="action">true 为设置 false为取消</param>
/// <returns></returns>
public int IsHot(int productId, bool action)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return 0;
if (action)
{
model.IsHot = 1;
}
else
{
model.IsHot = 0;
}
return Update(model);
}
/// <summary>
/// 判断该商品是不是固顶
/// </summary>
/// <param name="productId"></param>
/// <returns>无该商品时返回false</returns>
public bool OnTop(int productId)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return false;
if (model.OnTop == 1)
return true;
else
return false;
}
/// <summary>
/// 取消或设置该商品为固顶
/// </summary>
/// <param name="productId"></param>
/// <param name="action">true 为设置 false为取消</param>
/// <returns></returns>
public int OnTop(int productId, bool action)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return 0;
if (action )
{
model.OnTop = 1;
}
else
{
model.OnTop = 0;
}
return Update(model);
}
/// <summary>
/// 判断该商品是不是推荐
/// </summary>
/// <param name="productId"></param>
/// <returns>无该商品时返回false</returns>
public bool IsElite(int productId)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return false;
if (model.IsElite == 1)
return true;
else
return false;
}
/// <summary>
/// 取消或设置该商品为推荐
/// </summary>
/// <param name="productId"></param>
/// <param name="action">true 为设置 false为取消</param>
/// <returns></returns>
public int IsElite(int productId, bool action)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return 0;
if (action)
{
model.IsElite = 1;
}
else
{
model.IsElite = 0;
}
return Update(model);
}
/// <summary>
/// 判断该商品是不是允许销售
/// </summary>
/// <param name="productId"></param>
/// <returns>无该商品时返回false</returns>
public bool EnableSale(int productId)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return false;
if (model.EnableSale == 1)
return true;
else
return false;
}
/// <summary>
/// 取消或设置该商品销售状态
/// </summary>
/// <param name="productId"></param>
/// <param name="action">true 为设置销售 false为取消销售</param>
/// <returns></returns>
public int EnableSale(int productId, bool action)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return 0;
if (action)
{
model.EnableSale = 1;
}
else
{
model.EnableSale = 0;
}
return Update(model);
}
/// <summary>
/// 判断该商品有没有缩略图
/// </summary>
/// <param name="productId"></param>
/// <returns>无该商品时返回false</returns>
public bool HasThumb(int productId)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model == null)
return false;
if (model.ProductThumb.Length >= 3)
return true;
else
return false;
}
/// <summary>
/// 判断该商品名是不是已经存在
/// </summary>
/// <param name="productName"></param>
/// <returns></returns>
public bool ExistProductName(string productName)
{
productName = productName.Trim();
if(string.IsNullOrEmpty(productName))
return false;
return Exist(" productName ='" + Utils.ReplaceBadSQL(productName) + "'");
}
public bool ExistProductNum(string productNum)
{
productNum = Utils.ReplaceBadSQL(productNum.Trim());
if (string.IsNullOrEmpty(productNum))
return false;
return Exist(" productNum='" + productNum + "'");
}
/// <summary>
/// 将商品放到回收站,有订单的商品将不执行
/// </summary>
/// <param name="productId"></param>
/// <returns></returns>
public int MoveToRecycle(int productId)
{
if (HasOrder(productId))
return 0;
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model != null)
{
model.Deleted = 1;
return Update(model);
}
return 0;
}
/// <summary>
/// 将商品从回收站还原
/// </summary>
/// <param name="productId"></param>
/// <returns></returns>
public int RestoreFromRecycle(int productId)
{
ProductInfo model = new ProductInfo();
model = GetModel(productId);
if (model != null)
{
model.Deleted = 0;
return Update(model);
}
return 0;
}
/// <summary>
/// 将商品从回收站清空
/// </summary>
/// <returns></returns>
public int DeleteAllFromRecycle()
{
string filter = " Deleted = 1 ";
return Delete(filter);
}
public int RestoreAllFromRecycle()
{
string filter = " Deleted = 1 ";
DataSet dataset = new DataSet();
dataset = GetDataSet(filter);
ProductInfo model = new ProductInfo();
int i = 0;
foreach (DataRow dr in dataset.Tables[0].Rows)
{
model = GetModel(dr);
if(model != null)
RestoreFromRecycle(model.ProductId);
i++;
}
return i;
}
#endregion
}
}

