// ReSharper disable InconsistentNaming public ActionResult AddNewSKU(CMS_SKU_Model model, MCCC mcModel, CMS_HMNUM_Model hmModel, User_Profile_Model userModel) // ReSharper restore InconsistentNaming { try { var skuSvr = new SKUCreateServices(); string msg; var newSkuid = skuSvr.AddProduct(model, mcModel, hmModel, userModel.User_Account, out msg); return(Json(new NBCMSResultJson { Status = newSkuid > 0 ? StatusType.OK : StatusType.Error, Data = newSkuid })); } catch (Exception ex) { NBCMSLoggerManager.Fatal(ex.Message); NBCMSLoggerManager.Fatal(ex.StackTrace); NBCMSLoggerManager.Error(""); return(Json(new NBCMSResultJson { Status = StatusType.Exception, Data = ex.Message })); } }
/// <summary> /// 注意没有调用try catch /// </summary> /// <param name="mcModel"></param> /// <returns></returns> // ReSharper disable InconsistentNaming public ActionResult CheckMCC(MCCC mcModel) // ReSharper restore InconsistentNaming { var pSvr = new ProductsServices(); var msg = string.Empty; if (pSvr.CheckMCC(mcModel, ref msg)) { return(Json(new NBCMSResultJson { Status = StatusType.OK, Data = "" })); } return(Json(new NBCMSResultJson { Status = StatusType.Error, Data = msg })); }
/// <summary> /// Change1:新增了一个MCCC的模块,你懂得 2014年1月28日16:26:45 /// </summary> /// <param name="model"></param> /// <param name="mcModel"></param> /// <param name="userModel"></param> /// <returns></returns> public ActionResult UpdatedProduct([Bind(Exclude = "SKU")] CMS_SKU_Model model, MCCC mcModel, User_Profile_Model userModel) { try { if (model.SKUID == 0) { return(Json(new NBCMSResultJson { Status = StatusType.Error, Data = "Request is illegal." })); } //User_Profile_Model userModel = new CommonController().GetCurrentUserbyCookie(Request[ConfigurationManager.AppSettings["userInfoCookiesKey"]]); var pSvr = new ProductsServices(); string msg; if (pSvr.UpdatedProduct(model, mcModel, userModel.User_Account, out msg)) { return(Json(new NBCMSResultJson { Status = StatusType.OK, Data = "OK" })); } return(Json(new NBCMSResultJson { Status = StatusType.Error, Data = msg == "update product failed." ? "" : msg })); } catch (Exception ex) { NBCMSLoggerManager.Error(ex.Message); NBCMSLoggerManager.Error(ex.Source); return(Json(new NBCMSResultJson { Status = StatusType.Exception, Data = ex.Message })); } }
/// <summary> /// 新增SKU产品 /// CrateDate:2013年11月24日17:40:08 /// </summary> /// <param name="model"></param> /// <param name="Modifier"></param> /// <param name="msg"></param> /// <returns></returns> public long AddProduct(CMS_SKU_Model model, MCCC mcModel, CMS_HMNUM_Model HMModel, String Modifier, out string msg) { using (PermaisuriCMSEntities db = new PermaisuriCMSEntities()) { msg = ""; var query = db.CMS_SKU.Where(w => w.SKU == model.SKU && w.ChannelID == model.ChannelID).FirstOrDefault(); if (query != null) { msg = string.Format("this item is already exist"); return(-1); } var mat = db.CMS_SKU_Material.FirstOrDefault(s => s.MaterialName == mcModel.Material); if (mat == null) { mat = new CMS_SKU_Material { CreateBy = Modifier, CreateOn = DateTime.Now, ModifyBy = Modifier, ModifyOn = DateTime.Now, MaterialDesc = mcModel.Material, MaterialName = mcModel.Material }; db.CMS_SKU_Material.Add(mat); } var col = db.CMS_SKU_Colour.FirstOrDefault(s => s.ColourName == mcModel.Colour); if (col == null) { col = new CMS_SKU_Colour { CreateBy = Modifier, CreateOn = DateTime.Now, ModifyBy = Modifier, ModifyOn = DateTime.Now, ColourDesc = mcModel.Colour, ColourName = mcModel.Colour }; db.CMS_SKU_Colour.Add(col); } var cat = db.CMS_SKU_Category.FirstOrDefault(s => s.CategoryName == mcModel.Category && s.ParentID == 0); if (cat == null) { cat = new CMS_SKU_Category { CreateBy = Modifier, CreateOn = DateTime.Now, UpdateBy = Modifier, UpdateOn = DateTime.Now, CategoryName = mcModel.Category, CategoryDesc = mcModel.Category, OrderIndex = 0, ParentID = 0 }; db.CMS_SKU_Category.Add(cat); db.SaveChanges(); } var subCat = db.CMS_SKU_Category.FirstOrDefault(s => s.CategoryName == mcModel.SubCategory && s.ParentID != 0); if (subCat == null) { subCat = new CMS_SKU_Category { //CategoryID = ++i, CreateBy = Modifier, CreateOn = DateTime.Now, UpdateBy = Modifier, UpdateOn = DateTime.Now, CategoryName = mcModel.SubCategory, CategoryDesc = mcModel.SubCategory, OrderIndex = 0, //CMS_SKU_Category_Parent = cat ParentID = cat.CategoryID }; db.CMS_SKU_Category.Add(subCat); } var newCosting = new CMS_SKU_Costing { SalePrice = 0, EstimateFreight = 0, EffectiveDate = DateTime.Now, CreateBy = Modifier, CreateOn = DateTime.Now }; //db.CMS_SKU_Costing.Add(newCosting); //db.SaveChanges(); CMS_SKU newProduct = new CMS_SKU { //SKUCostID = 0, //default...为0 会导致后期查询的如果不做NULL排除,会得到意想不到的错误! CMS_SKU_Costing = newCosting, SKU = model.SKU, ProductName = model.ProductName, SKU_QTY = model.SKU_QTY, ChannelID = model.ChannelID, UPC = model.UPC, StatusID = 1,//2014年3月5日 New Visibility = model.Visibility, ProductDesc = model.ProductDesc, Specifications = model.Specifications, Keywords = model.Keywords, BrandID = model.BrandID, RetailPrice = model.RetailPrice, URL = model.URL, //MaterialID = mat.MaterialID, //ColourID = col.ColourID, //CategoryID = cat.CategoryID, //SubCategoryID = subCat.CategoryID, CMS_SKU_Material = mat, CMS_SKU_Colour = col, CMS_SKU_Category = cat, CMS_SKU_Category_Sub = subCat, CMS_Ecom_Sync = new CMS_Ecom_Sync { //SKUID = query.SKUID,坑爹啊 害死人,对象空引用!2014年4月9日 StatusID = 0, StatusDesc = "NeedSend", UpdateBy = Modifier, UpdateOn = DateTime.Now }, CreateBy = Modifier, CreateOn = DateTime.Now, UpdateBy = Modifier, UpdateOn = DateTime.Now, ShipViaTypeID = model.ShipViaTypeID }; //db.CMS_SKU.Add(newProduct); var newHM = db.CMS_HMNUM.Find(HMModel.ProductID); SKU_HM_Relation rModel = new SKU_HM_Relation { CMS_HMNUM = newHM, CMS_SKU = newProduct, StockKeyID = newHM.StockKeyID, R_QTY = HMModel.R_QTY, CreateBy = Modifier, CreateOn = DateTime.Now, UpdateBy = Modifier, UpdateOn = DateTime.Now }; db.SKU_HM_Relation.Add(rModel); db.SaveChanges(); newCosting.HisSKUID = newProduct.SKUID;//经测试:如果让这个生效,一定要在此之前先发生一次db.SaveChanges(),即使是使用强类型嵌套插入也需要这样save 2 次....2014年3月10日 db.SaveChanges(); return(newProduct.SKUID); } }