/// <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> 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 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; }
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="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 ActionResult ProductImport(HttpPostedFileBase file) { string mes = ""; if (file == null) { return Content("请选择要导入的文件"); } if (file.ContentLength > 2097152) { return Content("导入文件超过规定(2M )大小,请修改后再操作."); } if (!file.FileName.Contains(".xls") && !file.FileName.Contains(".xlsx")) { return Content("文件格式类型不正确"); } try { DataTable dt = ImportExcelToDataTable(file); if (dt.Columns.Count > 0) { ///1.获取系统模版列 Dictionary<string, ExcelFormatter> dic=new Dictionary<string, ExcelFormatter>(); Dictionary<string, ExcelModel> listColumn = GetColumnForJson("product", ref dic, "", "import", CurrentUser.ClientID); ;//GetColumnForJson("product", "Item"); ///2.上传Excel 与模板中列是否一致 不一致返回提示 foreach (DataColumn dc in dt.Columns) { if (default(KeyValuePair<string, ExcelModel>).Equals(listColumn.FirstOrDefault(x => x.Value.Title == dc.ColumnName))) { mes += dc.ColumnName + ","; } } if (!string.IsNullOrEmpty(mes)) { return Content("Excel模版与系统模版不一致,请重新下载模板,编辑后再上传.错误:缺少列 " + mes); } ///3.开始处理 int k = 1; var excelWriter = new ExcelWriter(); List<Products> list = new List<Products>(); foreach (DataRow dr in dt.Rows) { try { Products product=new Products(); excelWriter.GetProductByDataRow(dr, listColumn, product,dic,CurrentUser.ClientID); product.CreateUserID = CurrentUser.UserID; product.ClientID = CurrentUser.ClientID; product.BigUnitID = ""; list.Add(product); } catch (Exception ex) { mes += k +" 原因:"+ex.Message+ ","; } } try { if (list.Count > 0) { mes= ExcelImportBusiness.InsertProduct(list); } if (!string.IsNullOrEmpty(mes)) { return Content("部分数据未导入成功,原因如下 :" + mes); } else { return Content("操作成功"); } } catch (Exception ex) { return Content("系统异常:请联系管理员,错误原因" + ex.Message); } } if (!string.IsNullOrEmpty(mes)) { return Content("部分数据未导入成功,Excel行位置" + mes); } } catch (Exception ex) { return Content("系统异常:请联系管理员,错误原因:" + ex.Message.ToString()); } return Content(mes); }
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; }