Esempio n. 1
0
 /// <summary>
 /// 算法:根据组合产品的ProductID和SKUID唯一确定一条记录,删除再插入。删除插入一并做,会大大简化程序和客户端的各种判断。
 /// CreateDate: 2013年11月19日11:43:22
 /// </summary>
 /// <param name="rModel"></param>
 /// <param name="User_Account"></param>
 /// <returns>如果新增成功,返回新的ID</returns>
 public Boolean AddNewHM4SKU(SKU_HM_Relation_Model rModel, String User_Account)
 {
     using (PermaisuriCMSEntities db = new PermaisuriCMSEntities())
     {
         var query = db.SKU_HM_Relation.FirstOrDefault(r => r.SKUID == rModel.SKUID);
         if (query == null)
         {
             var newModel = new SKU_HM_Relation
             {
                 ProductID  = rModel.ProductID,
                 SKUID      = rModel.SKUID,
                 R_QTY      = rModel.R_QTY,
                 StockKeyID = rModel.StockKeyID,
                 CreateBy   = User_Account,
                 CreateOn   = DateTime.Now,
                 UpdateBy   = User_Account,
                 UpdateOn   = DateTime.Now
             };
             db.SKU_HM_Relation.Add(newModel);
         }
         else
         {
             query.StockKeyID = rModel.StockKeyID;
             query.R_QTY      = rModel.R_QTY;
             query.ProductID  = rModel.ProductID;
             query.UpdateBy   = User_Account;
             query.UpdateOn   = DateTime.Now;
         }
         return(db.SaveChanges() > 0);
     }
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userModel"></param>
        /// <returns></returns>
        public ActionResult UpdateSellPack(SKU_HM_Relation_Model model, User_Profile_Model userModel)
        {
            try
            {
                if (model.SKUID < 1 || model.StockKeyID < 1 || model.ProductID < 1)//2013年11月26日10:35:58
                {
                    return(Json(new NBCMSResultJson
                    {
                        Status = StatusType.Error,
                        Data = "Request parameters are illegal"
                    }));
                }
                var    pSvr = new ProductsServices();
                string msg;


                // User_Profile_Model userModel = new CommonController().GetCurrentUserbyCookie(Request[ConfigurationManager.AppSettings["userInfoCookiesKey"]]);

                if (pSvr.UpdateSellPack(model, out msg, userModel))
                {
                    return(Json(new NBCMSResultJson
                    {
                        Status = StatusType.OK,
                        Data = "OK"
                    }));
                }
                return(Json(new NBCMSResultJson
                {
                    Status = StatusType.Error,
                    Data = msg == "" ? "failed to insert new Product Pieces" : msg
                }));
            }
            catch (Exception ex)
            {
                NBCMSLoggerManager.Error(ex.Message);
                NBCMSLoggerManager.Error(ex.Source);
                return(Json(new NBCMSResultJson
                {
                    Status = StatusType.Exception,
                    Data = ex.Message
                }));
            }
        }
Esempio n. 3
0
 /// <summary>
 /// 放在using里面可以减少一次数据库打开、关闭的操作,但是增加耦合度 并且如果查询价格失败也会导致加入回滚,这让我很纠结...
 /// 如果可以,应该传递 PermaisuriCMSEntities 给该方法...
 /// CreateDate:2013年11月24日19:25:07
 /// </summary>
 /// <param name="model"></param>
 /// <returns>SKU对于的Costing永远只有一个,之所以以List形式出现,是为了以后。。。扩展 以及各个页面的方法兼容</returns>
 public List <CMS_HM_Costing_Model> GetHMCosting(SKU_HM_Relation_Model model)
 {
     using (PermaisuriCMSEntities db = new PermaisuriCMSEntities())
     {
         var query = db.CMS_HMNUM.FirstOrDefault(c => c.ProductID == model.ProductID);
         if (query == null)
         {
             return(null);
         }
         var costing = new CMS_HM_Costing_Model
         {
             FirstCost         = query.CMS_HM_Costing.FirstCost.ConvertToNotNull().ToString("C", new CultureInfo("en-US")),
             LandedCost        = query.CMS_HM_Costing.LandedCost.ConvertToNotNull().ToString("C", new CultureInfo("en-US")),
             EstimateFreight   = query.CMS_HM_Costing.EstimateFreight.ConvertToNotNull().ToString("C", new CultureInfo("en-US")),
             OceanFreight      = query.CMS_HM_Costing.OceanFreight.ConvertToNotNull().ToString("C", new CultureInfo("en-US")),
             USAHandlingCharge = query.CMS_HM_Costing.USAHandlingCharge.ConvertToNotNull().ToString("C", new CultureInfo("en-US")),
             Drayage           = query.CMS_HM_Costing.Drayage.ConvertToNotNull().ToString("C", new CultureInfo("en-US")),
             SellSets          = model.R_QTY //这里的SellSets不应该是组合产品的SellSets了..而应该是当前HM和SKU关联的R_QTY....
         };
         List <CMS_HM_Costing_Model> list = new List <CMS_HM_Costing_Model>();
         list.Add(costing);
         return(list);
     }
 }
 /// <summary>
 /// 算法:根据组合产品的ProductID和SKUID唯一确定一条记录,删除再插入。删除插入一并做,会大大简化程序和客户端的各种判断。
 /// CreateDate: 2013年11月19日11:43:22
 /// </summary>
 /// <param name="rModel"></param>
 /// <param name="User_Account"></param>
 /// <returns>如果新增成功,返回新的ID</returns>
 public Boolean AddNewHM4SKU(SKU_HM_Relation_Model rModel, String User_Account)
 {
     using (PermaisuriCMSEntities db = new PermaisuriCMSEntities())
     {
         //这种方法如果表结构改动,会大大增加维护成本。根据实际情况,可能组合产品的新增操作不是很频繁,并不会很大程度上影响性能,所以还是用EF来做
         //using (TransactionScope transaction = new TransactionScope())
         //{
         //  //db.Database.ExecuteSqlCommand("delete from CMS_HMGroup_Relation where ProductID = @ProductID and ChildrenProductID", new SqlParameter("@ProductID", rModel.ProductID));
         //}
         var query = db.SKU_HM_Relation.FirstOrDefault(r => r.SKUID == rModel.SKUID);
         if (query == null)
         {
             var newModel = new SKU_HM_Relation
             {
                 ProductID  = rModel.ProductID,
                 SKUID      = rModel.SKUID,
                 R_QTY      = rModel.R_QTY,
                 StockKeyID = rModel.StockKeyID,
                 CreateBy   = User_Account,
                 CreateOn   = DateTime.Now,
                 UpdateBy   = User_Account,
                 UpdateOn   = DateTime.Now
             };
             db.SKU_HM_Relation.Add(newModel);
         }
         else
         {
             query.StockKeyID = rModel.StockKeyID;
             query.R_QTY      = rModel.R_QTY;
             query.ProductID  = rModel.ProductID;
             query.UpdateBy   = User_Account;
             query.UpdateOn   = DateTime.Now;
         }
         return(db.SaveChanges() > 0);
     }
 }