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 }));
        }
Example #2
0
        /// <summary>
        /// 编辑商品
        /// Remark:涉及到3张表:WX_Commodity、WX_CommodityOption:先删除后插入、WX_PhotoDic:先删除后插入
        /// </summary>
        /// <param name="commInfo"></param>
        /// <param name="listPhoto"></param>
        /// <param name="listOption"></param>
        /// <returns></returns>
        public bool EditCommodityInfo(Admin_CommodityInfo commInfo, List<Admin_PhotoInfo> listPhoto, List<WX_ShopCommodityOptionInfo> listOption)
        {
            //Init
            List<string> listSql = new List<string>();
            List<object> listPar = new List<object>();

            //表 WX_CommodityInfo
            listSql.Add(shopCommodityDal.UpdateSQL());
            listPar.Add(commInfo);

            //表 WX_PhotoDic
            //DELETE
            if (listPhoto.Count > 0)
            {
                listSql.Add(photoDicDAL.DeleteSQL("RelationID = @ID"));
                listPar.Add(new { ID = commInfo.ID });
            }

            foreach (var item in listPhoto)
            {
                listSql.Add(photoDicDAL.AddSQL());
                listPar.Add(item);
            }

            //表 WX_CommodityOption
            //DELETE
            if (listOption.Count > 0)
            {
                listSql.Add(shopCommodityOption.DeleteSQL("CommodityID = @ID"));
                listPar.Add(new { ID = commInfo.ID });
            }

            foreach (var item in listOption)
            {
                listSql.Add(shopCommodityOption.AddSQL());
                listPar.Add(item);
            }

            return shopCommodityDal.ExecuteTran(listSql, listPar);
        }
Example #3
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);
        }
Example #4
0
        /// <summary>
        /// 增加一个商品
        /// Remark:涉及到3张表:WX_Commodity、WX_CommodityOption、WX_PhotoDic
        /// </summary>
        /// <param name="commInfo"></param>
        /// <param name="listPhoto"></param>
        /// <param name="listOption"></param>
        /// <returns></returns>
        public bool AddCommodityInfo(Admin_CommodityInfo commInfo, List<Admin_PhotoInfo> listPhoto, List<WX_ShopCommodityOptionInfo> listOption)
        {
            //Init
            List<string> listSql = new List<string>();
            List<object> listPar = new List<object>();

            //表 WX_CommodityInfo
            listSql.Add(shopCommodityDal.AddSQL());
            listPar.Add(commInfo);

            //表 WX_PhotoDic
            foreach (var item in listPhoto)
            {
                listSql.Add(photoDicDAL.AddSQL());
                listPar.Add(item);
            }

            //表 WX_CommodityOption
            foreach (var item in listOption)
            {
                listSql.Add(shopCommodityOption.AddSQL());
                listPar.Add(item);
            }

            return shopCommodityDal.ExecuteTran(listSql, listPar);
        }