public void BatchCreate(ComboBatchVM model, EventHandler <RestClientEventArgs <List <ComboInfo> > > callback) { string relativeUrl = "/MKTService/Combo/BatchCreate"; ComboBatchReq msg = model.ConvertVM <ComboBatchVM, ComboBatchReq>(); msg.Name.Content = model.Name; msg.CompanyCode = CPApplication.Current.CompanyCode; restClient.Create <List <ComboInfo> >(relativeUrl, msg, (obj, args) => { if (args.FaultsHandle()) { return; } callback(obj, args); }); }
public List <ComboInfo> BatchCreateCombo(ComboBatchReq info) { List <ComboInfo> list = new List <ComboInfo>(); for (int i = 0; i < info.MasterItems.Count; i++) { ComboInfo combo = new ComboInfo(); combo.IsShowName = info.IsShowName; combo.Priority = info.Priority; combo.Name = info.Name; combo.Status = info.Status; combo.SaleRuleType = info.SaleRuleType; combo.CompanyCode = info.CompanyCode; list.Add(combo); //主商品 ComboItem comboItem = new ComboItem(); comboItem.Discount = Math.Round(info.MDiscount.Value - 0.005m, 2); comboItem.Quantity = info.MQty; comboItem.ProductSysNo = info.MasterItems[i]; comboItem.IsMasterItemB = true; combo.Items.Add(comboItem); //次商品 if (info.Items != null) { List <ProductInfo> products = null; //如果只输入了折扣率,则需要计算Discount的值 if (info.Discount.HasValue) { products = ObjectFactory <ComboAppService> .Instance.GetProductInfoListByProductSysNoList(info.Items); } for (int j = 0; j < info.Items.Count; j++) { ComboItem saleRuleItemV2 = new ComboItem(); if (info.Discount.HasValue) { saleRuleItemV2.Discount = Math.Round(info.Discount.Value - 0.005m, 2); } else { if (products != null) { foreach (var product in products) { if (product.SysNo == info.Items[j]) { saleRuleItemV2.Discount = (-1) * product.ProductPriceInfo.CurrentPrice * info.DiscountRate.Value; } } } } saleRuleItemV2.Quantity = info.Qty; saleRuleItemV2.ProductSysNo = info.Items[j]; saleRuleItemV2.IsMasterItemB = false; combo.Items.Add(saleRuleItemV2); } } } //判断【商品捆绑规则设定对应的商家类型是否相同】bug125 foreach (ComboInfo entity in list) { List <string> errorMessage = CheckComboItemIsPass(entity); if (errorMessage != null && errorMessage.Count > 0) { throw new BizException(errorMessage[0]); } } return(ObjectFactory <ComboAppService> .Instance.BatchCreateCombo(list)); }
public List <ComboInfo> BatchUpdateCombo(ComboBatchReq info) { List <ComboInfo> list = new List <ComboInfo>(); for (int i = 0; i < info.MasterItems.Count; i++) { ComboInfo combo = new ComboInfo(); combo.Name = info.Name; combo.Status = info.Status; combo.SaleRuleType = info.SaleRuleType; list.Add(combo); //主商品 ComboItem comboItem = new ComboItem(); comboItem.Discount = Math.Round(info.MDiscount.Value - 0.005m, 2); comboItem.Quantity = info.MQty; comboItem.ProductSysNo = info.MasterItems[i]; comboItem.IsMasterItemB = true; combo.Items.Add(comboItem); //次商品 if (info.Items != null) { List <ProductInfo> products = null; //如果只输入了折扣率,则需要计算Discount的值 if (info.Discount.HasValue) { products = ObjectFactory <ComboAppService> .Instance.GetProductInfoListByProductSysNoList(info.Items); } for (int j = 0; j < info.Items.Count; j++) { ComboItem saleRuleItemV2 = new ComboItem(); if (info.Discount.HasValue) { saleRuleItemV2.Discount = Math.Round(info.Discount.Value - 0.005m, 2); } else { if (products != null) { foreach (var product in products) { if (product.SysNo == info.Items[j]) { saleRuleItemV2.Discount = (-1) * product.ProductPriceInfo.CurrentPrice * info.DiscountRate.Value; } } } } saleRuleItemV2.Quantity = info.Qty; saleRuleItemV2.ProductSysNo = info.Items[j]; saleRuleItemV2.IsMasterItemB = false; combo.Items.Add(saleRuleItemV2); } } } return(ObjectFactory <ComboAppService> .Instance.BatchUpdateCombo(list)); }