Ejemplo n.º 1
0
        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 }));
        }
Ejemplo n.º 2
0
        /// <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);
        }