public ActionResult EditCommodity() { //表1 WX_Commodity Admin_CommodityInfo commodityinfo = new Admin_CommodityInfo(); commodityinfo.ID = Request["ID"].ToString(); commodityinfo.Title = Request["commodityname"].ToString(); commodityinfo.Intro = Request["introduce"].ToString(); commodityinfo.OpeDate = DateTime.Now; commodityinfo.Price = string.IsNullOrEmpty(Request["Price"].ToString()) ? 0 : Convert.ToDecimal(Request["Price"].ToString()); commodityinfo.Photo = Request["SltImg"].ToString(); commodityinfo.iOrder = string.IsNullOrEmpty(Request["iOrder"].ToString()) ? 0 : Convert.ToInt32(Request["iOrder"].ToString()); commodityinfo.MID = string.IsNullOrEmpty(Request["category"].ToString()) ? 0 : Convert.ToInt32(Request["category"].ToString()); commodityinfo.StoreID = "adcddcbe8644403dba3a082f7ca8593b"; commodityinfo.Flag = 1; commodityinfo.Remark = ""; commodityinfo.State = string.IsNullOrEmpty(Request["state"].ToString()) ? 0 : Convert.ToInt32(Request["state"].ToString()); commodityinfo.Stock = string.IsNullOrEmpty(Request["Quantity"].ToString()) ? 0 : Convert.ToInt32(Request["Quantity"].ToString()); commodityinfo.DiscountFlag = 0; commodityinfo.PostType = int.Parse(Request["PostType"]); commodityinfo.PostPrice = Request["PostPrice"] == null || string.IsNullOrEmpty(Request["PostPrice"].ToString()) ? 0f : float.Parse(Request["PostPrice"].ToString()); commodityinfo.Remark = Request["Remark"] == null || string.IsNullOrEmpty(Request["Remark"].ToString()) ? string.Empty : Request["Remark"].ToString(); //保留指定列值 dynamic commItem = adminservice.Main_QueryCommodity(commodityinfo.ID).FirstOrDefault(); commodityinfo.OpeDate = Convert.ToDateTime(commItem.OpeDate.ToString()); //表2 WX_PhotoDic List<Admin_PhotoInfo> photoinfolist = new List<Admin_PhotoInfo>(); string[] GdImg = Request["GdImg"].ToString().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); //string[] GDImgID = Request["GdImgID"].ToString().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < GdImg.Length; i++) { if (!string.IsNullOrEmpty(GdImg[i]) && !GdImg[i].Equals("undefined")) { Admin_PhotoInfo photoinfo = new Admin_PhotoInfo(); photoinfo.ID = Guid.NewGuid().ToString("N"); photoinfo.RelationID = commodityinfo.ID; photoinfo.OpeDate = DateTime.Now; photoinfo.Value = GdImg[i].ToString(); photoinfo.Flag = 2; photoinfo.Remark = ""; photoinfo.Source = "commodity"; photoinfo.iOrder = i; photoinfolist.Add(photoinfo); } } //表3 WX_CommodityOption string[] speclist = Request["spec"].ToString().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); string[] specpricelist = Request["specprice"].ToString().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); string[] specIDlist = Request["specid"].ToString().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); List<WX_ShopCommodityOptionInfo> commodityoptionlist = new List<WX_ShopCommodityOptionInfo>(); for (int i = 0; i < speclist.Length; i++) { if (!string.IsNullOrEmpty(speclist[i]) && speclist[i] != "undefined") { WX_ShopCommodityOptionInfo commodityoption = new WX_ShopCommodityOptionInfo(); commodityoption.ID = string.IsNullOrEmpty(specIDlist[i]) || specIDlist[i].Equals("undefined") ? Guid.NewGuid().ToString("N") : specIDlist[i]; commodityoption.Name = speclist[i]; if (!string.IsNullOrEmpty(specpricelist[i]) && specpricelist[i] != "undefined") { commodityoption.Price = Convert.ToDecimal(specpricelist[i]); } else { commodityoption.Price = 0; } commodityoption.Remark = ""; commodityoption.CommodityID = commodityinfo.ID; ; commodityoption.Flag = 1; commodityoption.OpeDate = DateTime.Now; commodityoption.iOrder = i; commodityoptionlist.Add(commodityoption); } } //验证是否重复 Tuple<bool, string> tupNa = adminservice.CheckCommodityNameRepeat("commName", commodityinfo); if (tupNa.Item1) { return Content(JsonConvert.SerializeObject(new { Flag = !tupNa.Item1, Msg = tupNa.Item2 })); } foreach (var item in commodityoptionlist) { Tuple<bool, string> tupNb = adminservice.CheckCommodityNameRepeat("optionName", null, item); if (tupNb.Item1) { return Content(JsonConvert.SerializeObject(new { Flag = !tupNb.Item1, Msg = tupNb.Item2 })); } } bool result = adminservice.EditCommodityInfo(commodityinfo, photoinfolist, commodityoptionlist); return Content(JsonConvert.SerializeObject(new { Flag = result, Msg = string.Empty })); }
/// <summary> /// 检验商品相关名称是否重复 /// </summary> /// <param name="type"></param> /// <param name="commInfo"></param> /// <param name="optionInfo"></param> /// <returns></returns> public Tuple<bool, string> CheckCommodityNameRepeat(string type, Admin_CommodityInfo commInfo = null, WX_ShopCommodityOptionInfo optionInfo = null) { //Result bool flag = false; string strMsg = string.Empty; switch (type) { case "commName": flag = shopCommodityDal.Exists(" MID=@MID AND STOREID=@StoreID AND TITLE=@Title AND ID!=@ID ", commInfo); strMsg = "商品名称重复!名称:" + commInfo.Title; break; case "optionName": flag = shopCommodityOption.Exists(" CommodityID=@CommodityID AND Name=@Name AND ID!=@ID ", optionInfo); strMsg = "商品规格名称重复!名称:" + optionInfo.Name; break; default: break; } return new Tuple<bool, string>(flag, strMsg); }