public List<Products> GetProductList(string categoryid, string beginprice, string endprice, string keyWords, string orderby, bool isasc, int pageSize, int pageIndex, ref int totalCount, ref int pageCount, string clientID) { var dal = new ProductsDAL(); DataSet ds = dal.GetProductList(categoryid, beginprice, endprice, keyWords, orderby, isasc ? 1 : 0, pageSize, pageIndex, ref totalCount, ref pageCount, clientID); List<Products> list = new List<Products>(); foreach (DataRow dr in ds.Tables[0].Rows) { Products model = new Products(); model.FillData(dr); list.Add(model); } return list; }
public Products GetProductByID(string productid) { var dal = new ProductsDAL(); DataSet ds = dal.GetProductByID(productid); Products model = new Products(); if (ds.Tables.Contains("Product") && ds.Tables["Product"].Rows.Count > 0) { model.FillData(ds.Tables["Product"].Rows[0]); model.Category = GetCategoryDetailByID(model.CategoryID); var bigunit = new ProductUnit(); bigunit.FillData(ds.Tables["Unit"].Select("UnitID='" + model.BigUnitID + "'").FirstOrDefault()); model.BigUnit = bigunit; var smallunit = new ProductUnit(); smallunit.FillData(ds.Tables["Unit"].Select("UnitID='" + model.SmallUnitID + "'").FirstOrDefault()); model.SmallUnit = smallunit; model.ProductDetails = new List<ProductDetail>(); foreach (DataRow item in ds.Tables["Details"].Rows) { //子产品 ProductDetail detail = new ProductDetail(); detail.FillData(item); Dictionary<string, string> attrs = new Dictionary<string, string>(); foreach (string attr in detail.SaleAttrValue.Split(',')) { if (!string.IsNullOrEmpty(attr)) { attrs.Add(attr.Split(':')[0], attr.Split(':')[1]); } } detail.SaleAttrValueString = ""; foreach (var attr in model.Category.SaleAttrs) { if (attrs.ContainsKey(attr.AttrID)) { detail.SaleAttrValueString += attr.AttrName + ":" + attr.AttrValues.Where(a => a.ValueID.ToLower() == attrs[attr.AttrID].ToLower()).FirstOrDefault().ValueName + ","; } } if (detail.SaleAttrValueString.Length > 0) { detail.SaleAttrValueString = detail.SaleAttrValueString.Substring(0, detail.SaleAttrValueString.Length - 1); } model.ProductDetails.Add(detail); } } return model; }
/// <summary> /// 获取产品信息(加入购物车页面) /// </summary> /// <param name="productid"></param> /// <returns></returns> public Products GetProductByIDForDetails(string productid) { var dal = new ProductsDAL(); DataSet ds = dal.GetProductByIDForDetails(productid); Products model = new Products(); if (ds.Tables.Contains("Product") && ds.Tables["Product"].Rows.Count > 0) { model.FillData(ds.Tables["Product"].Rows[0]); //单位 model.BigUnit = new ProductUnit(); model.BigUnit.FillData(ds.Tables["Unit"].Select("UnitID='" + model.BigUnitID + "'").FirstOrDefault()); model.SmallUnit = new ProductUnit(); model.SmallUnit.FillData(ds.Tables["Unit"].Select("UnitID='" + model.SmallUnitID + "'").FirstOrDefault()); model.AttrLists = new List<ProductAttr>(); model.SaleAttrs = new List<ProductAttr>(); foreach (DataRow attrtr in ds.Tables["Attrs"].Rows) { ProductAttr attrModel = new ProductAttr(); attrModel.FillData(attrtr); attrModel.AttrValues = new List<AttrValue>(); //参数 if (attrModel.Type == (int)EnumAttrType.Parameter) { foreach (DataRow valuetr in ds.Tables["Values"].Select("AttrID='" + attrModel.AttrID + "'")) { AttrValue valueModel = new AttrValue(); valueModel.FillData(valuetr); if (model.AttrValueList.IndexOf(valueModel.ValueID) >= 0) { attrModel.AttrValues.Add(valueModel); model.AttrLists.Add(attrModel); break; } } } else { model.SaleAttrs.Add(attrModel); } } model.ProductDetails = new List<ProductDetail>(); foreach (DataRow item in ds.Tables["Details"].Rows) { ProductDetail detail = new ProductDetail(); detail.FillData(item); //填充存在的规格 foreach (var attrModel in model.SaleAttrs) { foreach (DataRow valuetr in ds.Tables["Values"].Select("AttrID='" + attrModel.AttrID + "'")) { AttrValue valueModel = new AttrValue(); valueModel.FillData(valuetr); if (detail.AttrValue.IndexOf(valueModel.ValueID) >= 0) { if (attrModel.AttrValues.Where(v => v.ValueID == valueModel.ValueID).Count() == 0) { attrModel.AttrValues.Add(valueModel); } break; } } } model.ProductDetails.Add(detail); } } return model; }
public List<Products> GetFilterProducts(string categoryid, List<FilterAttr> Attrs, int doctype, string beginprice, string endprice, string keyWords, string orderby, bool isasc, int pageSize, int pageIndex, ref int totalCount, ref int pageCount, string clientID) { var dal = new ProductsDAL(); StringBuilder attrbuild = new StringBuilder(); StringBuilder salebuild = new StringBuilder(); foreach (var attr in Attrs) { if (attr.Type == EnumAttrType.Parameter) { attrbuild.Append(" and p.ValueList like '%" + attr.ValueID + "%'"); } else if (attr.Type == EnumAttrType.Specification) { salebuild.Append(" and AttrValue like '%" + attr.ValueID + "%'"); } } DataSet ds = dal.GetFilterProducts(categoryid, attrbuild.ToString(), salebuild.ToString(), doctype, beginprice, endprice, keyWords, orderby, isasc ? 1 : 0, pageSize, pageIndex, ref totalCount, ref pageCount, clientID); List<Products> list = new List<Products>(); foreach (DataRow dr in ds.Tables[0].Rows) { Products model = new Products(); model.FillData(dr); list.Add(model); } return list; }
/// <summary> /// 获取产品列表 /// </summary> /// <param name="keyWords">关键词</param> /// <param name="pageSize">页Size</param> /// <param name="pageIndex">页码</param> /// <param name="totalCount">总数</param> /// <param name="pageCount">总页数</param> /// <param name="clientID">客户端ID</param> /// <returns></returns> public List<Products> GetProductList(string keyWords, int pageSize, int pageIndex, ref int totalCount, ref int pageCount, string clientID) { var dal = new ProductsDAL(); DataSet ds = dal.GetProductList(keyWords, pageSize, pageIndex, ref totalCount, ref pageCount, clientID); List<Products> list = new List<Products>(); foreach (DataRow dr in ds.Tables[0].Rows) { Products model = new Products(); model.FillData(dr); list.Add(model); } return list; }
public Products GetProductByIDForDetails(string productid) { var dal = new ProductsDAL(); DataSet ds = dal.GetProductByIDForDetails(productid); Products model = new Products(); if (ds.Tables.Contains("Product") && ds.Tables["Product"].Rows.Count > 0) { model.FillData(ds.Tables["Product"].Rows[0]); model.SmallUnit = GetUnitByID(model.UnitID, model.ClientID); model.AttrLists = new List<ProductAttr>(); model.SaleAttrs = new List<ProductAttr>(); foreach (DataRow attrtr in ds.Tables["Attrs"].Rows) { ProductAttr attrModel = new ProductAttr(); attrModel.FillData(attrtr); attrModel.AttrValues = new List<AttrValue>(); //参数 if (attrModel.Type == (int)EnumAttrType.Parameter) { foreach (var value in GetProductAttrByID(attrModel.AttrID, model.ClientID).AttrValues) { if (model.AttrValueList.IndexOf(value.ValueID) >= 0) { attrModel.AttrValues.Add(value); model.AttrLists.Add(attrModel); break; } } } } model.ProductDetails = new List<ProductDetail>(); foreach (DataRow item in ds.Tables["Details"].Rows) { ProductDetail detail = new ProductDetail(); detail.FillData(item); model.ProductDetails.Add(detail); } } return model; }
public Products GetProductByID(string productid) { var dal = new ProductsDAL(); DataSet ds = dal.GetProductByID(productid); Products model = new Products(); if (ds.Tables.Contains("Product") && ds.Tables["Product"].Rows.Count > 0) { model.FillData(ds.Tables["Product"].Rows[0]); model.Category = GetCategoryDetailByID(model.CategoryID); model.BigUnit = GetUnitByID(model.UnitID, model.ClientID); model.SmallUnit = GetUnitByID(model.UnitID, model.ClientID); model.ProductDetails = new List<ProductDetail>(); foreach (DataRow item in ds.Tables["Details"].Rows) { //子产品 ProductDetail detail = new ProductDetail(); detail.FillData(item); model.ProductDetails.Add(detail); } } return model; }
public List<Products> GetProductStocks(string keywords, int pageSize, int pageIndex, ref int totalCount, ref int pageCount, string agentid, string clientid) { DataSet ds = StockDAL.BaseProvider.GetProductStocks(keywords, pageSize, pageIndex, ref totalCount, ref pageCount, clientid); List<Products> list = new List<Products>(); foreach (DataRow dr in ds.Tables[0].Rows) { Products model = new Products(); model.FillData(dr); list.Add(model); } return list; }