public async static Task SaveCustomerRank(CustomerRank itemPara, CustomerRank oldItem) { //using (var db = new SalesContext()) //{ // foreach(var item in Customers) //change customerRank of relative Customer in customers collection to new customerRank // { // if (item.CustomerRankID == itemPara.Id) // item.CustomerRank = itemPara; // } // var query = db.CustomerRanks.Find(itemPara.Id); // var x = query.Customers; // CopyProperties(typeof(CustomerRank), query, itemPara); // query.Customers = x; // db.Entry(query).State = EntityState.Modified; // await UpdateDatabase(db); //} using (var db = new SalesContext()) { db.Entry(oldItem).State = EntityState.Unchanged; var query = db.CustomerRanks.Find(itemPara.Id); CopyProperties(typeof(CustomerRank), query, itemPara); db.Entry(query).State = EntityState.Modified; await UpdateDatabase(db); } }
public async static Task AddCustomerRank(CustomerRank itemPara) { using (var db = new SalesContext()) { db.CustomerRanks.Add(itemPara); await UpdateDatabase(db); CustomerRanks.Add(itemPara); } }
public async static Task DeleteCustomerRank(CustomerRank itemPara) { //using (var db = new SalesContext()) //{ // db.CustomerRanks.Attach(itemPara); // db.Entry(itemPara).State = EntityState.Deleted; // CustomerRanks.Remove(itemPara); // await UpdateDatabase(db); //} using (var db = new SalesContext()) { db.Entry(itemPara).State = EntityState.Unchanged; //NOT DELETE - IMPORTANT CustomerRanks.Remove(itemPara); db.Entry(itemPara).State = EntityState.Deleted; // must be executed after deleted it in Customers await UpdateDatabase(db); } }
private void DataGrid_Result_LoadingDataSource(object sender, Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e) { CustomerQueryFacade facade = new CustomerQueryFacade(this); filter.PagingInfo = new PagingInfo { PageSize = e.PageSize, PageIndex = e.PageIndex, SortBy = e.SortField }; facade.QueryCustomer(filter, (obj, args) => { if (args.FaultsHandle()) { return; } if (!(args == null || args.Result == null || args.Result.Rows == null)) { #region 拼接头像地址 foreach (var item in args.Result.Rows) { item.IsChecked = false; CustomerRank rank = item.Rank ?? CustomerRank.Ferrum; string AvtarImage = item.AvtarImage; if (!string.IsNullOrEmpty(AvtarImage)) { item.AvtarImage = string.Format("{0}{1}", viewModel.AvtarImgBasePath, AvtarImage); } else { item.AvtarImage = string.Format("/Images/Customer/CustomerRankImage/P48Rank{0}.jpg", (int)rank); } } #endregion this.dataGrid1.ItemsSource = args.Result.Rows.ToList(); this.dataGrid1.TotalCount = args.Result.TotalCount; } }); }
void UCCustomerRange_Loaded(object sender, RoutedEventArgs e) { if (isLoaded) { return; } CouponsInfoViewModel vm = this.DataContext as CouponsInfoViewModel; if (vm.IsCustomerNoLimit.Value) { gridUserRankSetting.Visibility = System.Windows.Visibility.Collapsed; gridUserIDSetting.Visibility = System.Windows.Visibility.Collapsed; PreLimitType = LimitType.NoLimit; } else if (vm.IsCustomerRank.Value) { gridUserRankSetting.Visibility = System.Windows.Visibility.Visible; gridUserIDSetting.Visibility = System.Windows.Visibility.Collapsed; PreLimitType = LimitType.CustomerRank; } else if (vm.IsCustomerID.Value) { gridUserRankSetting.Visibility = System.Windows.Visibility.Collapsed; gridUserIDSetting.Visibility = System.Windows.Visibility.Visible; PreLimitType = LimitType.CustomerID; } if (vm.IsAreaNoLimit.Value) { gridArea.Visibility = System.Windows.Visibility.Collapsed; PreIsNoLimitArea = true; } else { gridArea.Visibility = System.Windows.Visibility.Visible; PreIsNoLimitArea = false; } ComboBoxItem defaultItem = new ComboBoxItem(); defaultItem.Content = "不限"; defaultItem.Tag = -1; defaultItem.IsSelected = false; cmbCustomerRank.Items.Add(defaultItem); foreach (var value in Enum.GetValues(typeof(CustomerRank))) { if (vm.CustomerCondition.RelCustomerRanks.CustomerRankList != null) { SimpleObjectViewModel sim = vm.CustomerCondition.RelCustomerRanks.CustomerRankList.FirstOrDefault(f => f.SysNo.Value == (int)value); if (sim != null) { CustomerRank cre = (CustomerRank)Enum.Parse(typeof(CustomerRank), value.ToString(), true); sim.Name = EnumConverter.GetDescription(cre); continue; } } ComboBoxItem item = new ComboBoxItem(); CustomerRank k = (CustomerRank)Enum.Parse(typeof(CustomerRank), value.ToString(), true); item.Content = EnumConverter.GetDescription(k); item.Tag = value; item.IsSelected = false; cmbCustomerRank.Items.Add(item); } if (cmbCustomerRank.Items.Count > 0) { cmbCustomerRank.SelectedIndex = 0; } AreaQueryFacade areaFacade = new AreaQueryFacade(); areaFacade.QueryProvinceAreaList((obj, args) => { if (args.FaultsHandle()) { return; } List <AreaInfo> areaList = args.Result; foreach (AreaInfo area in areaList) { if (vm.CustomerCondition.RelAreas.AreaList != null) { SimpleObjectViewModel sim = vm.CustomerCondition.RelAreas.AreaList.FirstOrDefault(f => f.SysNo == area.SysNo); if (sim != null) { sim.Name = area.ProvinceName; continue; } } ComboBoxItem item = new ComboBoxItem(); item.Content = area.ProvinceName; item.Tag = area.SysNo; item.IsSelected = false; cmbArea.Items.Add(item); } if (cmbArea.Items.Count > 0) { cmbArea.SelectedIndex = 0; } }); if (vm.IsOnlyViewMode) { OperationControlStatusHelper.SetControlsStatus(gridLayout, true); } isLoaded = true; }
private void rdoCustomerID_Click(object sender, RoutedEventArgs e) { if (PreLimitType == LimitType.CustomerID) { return; } CouponsInfoViewModel vm = this.DataContext as CouponsInfoViewModel; if (vm.IsExistThrowInTypeCouponCode.HasValue && vm.IsExistThrowInTypeCouponCode.Value) { CurrentWindow.Alert("已经存在投放型优惠券,因此客户条件只能是不限!如果需要修改客户条件,请先删除所有的投放型优惠券!"); vm.IsCustomerID = false; vm.IsCustomerRank = false; vm.IsCustomerNoLimit = true; PreLimitType = LimitType.NoLimit; return; } if (vm.CustomerCondition.RelCustomerRanks.CustomerRankList != null && vm.CustomerCondition.RelCustomerRanks.CustomerRankList.Count > 0) { CurrentWindow.Confirm("如果设置为自选用户,那么已指定的用户组都将全部移除,请确定是否设置为自选用户?", (obj, args) => { if (args.DialogResult == DialogResultType.OK) { vm.CustomerCondition.RelCustomerRanks.CustomerRankList.Clear(); dgCustomerRank.ItemsSource = vm.CustomerCondition.RelCustomerRanks.CustomerRankList; dgCustomerRank.Bind(); gridUserRankSetting.Visibility = System.Windows.Visibility.Collapsed; gridUserIDSetting.Visibility = System.Windows.Visibility.Visible; PreLimitType = LimitType.CustomerID; cmbCustomerRank.Items.Clear(); foreach (var value in Enum.GetValues(typeof(CustomerRank))) { ComboBoxItem item = new ComboBoxItem(); CustomerRank k = (CustomerRank)Enum.Parse(typeof(CustomerRank), value.ToString(), true); item.Content = EnumConverter.GetDescription(k); item.Tag = value; item.IsSelected = false; cmbCustomerRank.Items.Add(item); } if (cmbCustomerRank.Items.Count > 0) { cmbCustomerRank.SelectedIndex = 0; } } else { switch (PreLimitType) { case LimitType.CustomerID: vm.IsCustomerID = true; vm.IsCustomerRank = false; vm.IsCustomerNoLimit = false; break; case LimitType.CustomerRank: vm.IsCustomerID = false; vm.IsCustomerRank = true; vm.IsCustomerNoLimit = false; break; case LimitType.NoLimit: vm.IsCustomerID = false; vm.IsCustomerRank = false; vm.IsCustomerNoLimit = true; break; } return; } }); } else { gridUserRankSetting.Visibility = System.Windows.Visibility.Collapsed; gridUserIDSetting.Visibility = System.Windows.Visibility.Visible; PreLimitType = LimitType.CustomerID; } }
/// <summary> /// 计算商品最终售价 /// 原则:取最优客户价格 /// </summary> /// <param name="soInfo"></param> public virtual void CalculateItemPrice(SOInfo soInfo) { //礼品卡订单不获取价格 if (soInfo.BaseInfo.SOType == SOType.ElectronicCard || soInfo.BaseInfo.SOType == SOType.PhysicalCard) { soInfo.Items.ForEach(item => { item.GainAveragePoint = 0; item.PayType = ProductPayType.MoneyOnly; }); return; } //获取商品价格信息 List <int> itemSysNos = soInfo.Items.Where(item => item.ProductType == SOProductType.Accessory || item.ProductType == SOProductType.Award || item.ProductType == SOProductType.Gift || item.ProductType == SOProductType.Product || item.ProductType == SOProductType.SelfGift) .Select <SOItemInfo, int>(item => item.ProductSysNo.Value).ToList <int>(); List <ProductInfo> productInfoList = ExternalDomainBroker.GetProductInfoListByProductSysNoList(itemSysNos); if (productInfoList != null && productInfoList.Count > 0) { foreach (var item in soInfo.Items) { //普通商品处理逻辑 if (item.ProductType == SOProductType.Product) { ProductPriceInfo priceInfo = null; ProductInfo productInfoTemp = productInfoList.Find(x => x.SysNo == item.ProductSysNo); if (productInfoTemp != null) { priceInfo = productInfoTemp.ProductPriceInfo; } if (priceInfo != null) { item.CostPrice = priceInfo.UnitCost; item.PayType = priceInfo.PayType;//Vantal Update 属性名称修改 item.GainAveragePoint = priceInfo.Point; item.OriginalPrice = priceInfo.CurrentPrice; CustomerRank customerRank = ExternalDomainBroker.GetCustomerRank(soInfo.BaseInfo.CustomerSysNo.Value); #warning 批发与手动修改价格逻辑需要再处理, 更新订单逻辑也需要考虑 decimal tempWholeSalePrice = 0.00M; decimal tempMemberPrice = 0.00M; //如果商品支持批发价,商品售价取最优批发价格 if (priceInfo.ProductWholeSalePriceInfo != null && priceInfo.ProductWholeSalePriceInfo.Count > 0) { //取最优批发价 priceInfo.ProductWholeSalePriceInfo.OrderBy(l => l.Level) .ToList() .ForEach(w => { if (item.Quantity >= w.Qty) { tempWholeSalePrice = w.Price.Value; } }); } //优先使用会员价 priceInfo.ProductRankPrice.OrderBy(r => r.Rank) .ToList() .ForEach(r => { if (r.Status.HasValue && r.Status == ProductRankPriceStatus.Active && customerRank >= r.Rank) { tempMemberPrice = r.RankPrice.Value; } }); if (tempWholeSalePrice != 0) { item.OriginalPrice = Math.Min(tempWholeSalePrice, item.OriginalPrice.Value); item.PriceType = SOProductPriceType.WholeSale; } if (tempMemberPrice != 0) { if (tempMemberPrice <= tempWholeSalePrice) { item.OriginalPrice = Math.Min(tempMemberPrice, item.OriginalPrice.Value); item.PriceType = SOProductPriceType.Member; } } if (item.PriceType == SOProductPriceType.WholeSale) { //批发无积分 item.GainAveragePoint = 0; } if (m_isManualPrice) { //重新计算Discount if (item.Price_End > 0) { item.AdjustPrice = item.OriginalPrice.Value - item.Price_End; //初始化调价 item.Price_End = 0; } item.OriginalPrice = item.OriginalPrice - item.AdjustPrice; } //更新状态购物车的单件商品没有修改数量按原始价格计算 if (IsUpdate) { var originalItem = OriginalSOInfo.Items.Find(oitem => oitem.ProductSysNo == item.ProductSysNo); if (originalItem != null && item.Quantity == originalItem.Quantity) { //如果手动改价 if (item.AdjustPrice != originalItem.AdjustPrice) { item.OriginalPrice = (originalItem.OriginalPrice ?? 0) + originalItem.AdjustPrice - item.AdjustPrice; //continue; } } } item.Price = item.OriginalPrice; } } //优惠券和延保不赠积分 else if (item.ProductType == SOProductType.Coupon) { item.GainAveragePoint = 0; item.PayType = ProductPayType.All; } else if (item.ProductType == SOProductType.ExtendWarranty) { item.OriginalPrice = item.Price; item.GainAveragePoint = 0; item.PayType = ProductPayType.All; //数量 var masterProduct = soInfo.Items.First(p => p.ProductSysNo.ToString() == item.MasterProductSysNo); item.Quantity = masterProduct.Quantity; } //是赠品,附件,奖品则价格为0, 积分为0 else { ProductPriceInfo priceInfo = null; ProductInfo productInfoTemp = productInfoList.Find(x => x.SysNo == item.ProductSysNo); if (productInfoTemp != null) { priceInfo = productInfoTemp.ProductPriceInfo; } if (priceInfo != null) { item.CostPrice = priceInfo.UnitCost; } item.OriginalPrice = 0; item.Price = 0; item.PayType = ProductPayType.All; } } } if (m_isManualPrice) { if (IsUpdate) { foreach (var item in soInfo.Items) { SOItemInfo oldSOItem = OriginalSOInfo.Items.Find(oldItem => oldItem.ProductSysNo == item.ProductSysNo); if (oldSOItem != null) { if (!(item.PromotionAmount == 0 && string.IsNullOrEmpty(item.AdjustPriceReason)) && !(item.Price_End != item.Price)) { item.OriginalPrice = item.OriginalPrice + oldSOItem.PromotionAmount - item.PromotionAmount; } } item.Price = item.OriginalPrice; } } else if (soInfo.BaseInfo.SOType == SOType.Gift) { //赠品订单做补偿时使用 soInfo.Items.ForEach(item => { item.PromotionAmount = item.OriginalPrice; item.AdjustPriceReason = "赠品订单自动调整"; item.OriginalPrice = 0; item.Price = 0; }); } } }
public Customer(Id id, User user) { Id = id; Rank = CustomerRank.New; User = user; }
private CouponsInfoViewModel EtoV(CouponsInfo entity) { CouponsInfoViewModel viewmodel = entity.Convert <CouponsInfo, CouponsInfoViewModel>((en, vm) => { vm.Title = entity.Title.Content; }); if (entity.WebChannel != null) { viewmodel.WebChannel = new Basic.Components.Models.WebChannelVM() { ChannelID = entity.WebChannel.ChannelID, ChannelName = entity.WebChannel.ChannelName }; } else { viewmodel.WebChannel = viewmodel.WebChennelList[0]; } #region 商品条件处理 if (viewmodel.ProductCondition != null) { if (viewmodel.ProductCondition.RelBrands != null && viewmodel.ProductCondition.RelBrands.BrandList != null) { viewmodel.ProductCondition.RelBrands.IsExcludeRelation = !viewmodel.ProductCondition.RelBrands.IsIncludeRelation; foreach (SimpleObjectViewModel sim in viewmodel.ProductCondition.RelBrands.BrandList) { sim.Relation = viewmodel.ProductCondition.RelBrands.IsIncludeRelation.Value ? PSRelationType.Include : PSRelationType.Exclude; sim.IsChecked = false; } } else { if (viewmodel.ProductCondition.RelBrands == null) { viewmodel.ProductCondition.RelBrands = new RelBrandViewModel(); } viewmodel.ProductCondition.RelBrands.IsIncludeRelation = true; viewmodel.ProductCondition.RelBrands.IsExcludeRelation = false; } if (viewmodel.ProductCondition.RelCategories != null && viewmodel.ProductCondition.RelCategories.CategoryList != null) { viewmodel.ProductCondition.RelCategories.IsExcludeRelation = !viewmodel.ProductCondition.RelCategories.IsIncludeRelation; foreach (SimpleObjectViewModel sim in viewmodel.ProductCondition.RelCategories.CategoryList) { sim.Relation = viewmodel.ProductCondition.RelCategories.IsIncludeRelation.Value ? PSRelationType.Include : PSRelationType.Exclude;; sim.IsChecked = false; } } else { if (viewmodel.ProductCondition.RelCategories == null) { viewmodel.ProductCondition.RelCategories = new RelCategory3ViewModel(); } viewmodel.ProductCondition.RelCategories.IsIncludeRelation = true; viewmodel.ProductCondition.RelCategories.IsExcludeRelation = false; } if (viewmodel.ProductCondition.RelProducts != null && viewmodel.ProductCondition.RelProducts.ProductList != null) { foreach (RelProductAndQtyViewModel sim in viewmodel.ProductCondition.RelProducts.ProductList) { sim.IsChecked = false; } } else { if (viewmodel.ProductCondition.RelProducts == null) { viewmodel.ProductCondition.RelProducts = new RelProductViewModel(); } viewmodel.ProductCondition.RelProducts.IsIncludeRelation = true; viewmodel.ProductCondition.RelProducts.IsExcludeRelation = false; } if (viewmodel.ProductCondition.ListRelVendorViewModel == null) { viewmodel.ProductCondition.ListRelVendorViewModel = new List <RelVendorViewModel>(); } if (entity.ProductCondition.ListRelVendor != null) { foreach (var item in entity.ProductCondition.ListRelVendor) { viewmodel.ProductCondition.ListRelVendorViewModel.Add(new RelVendorViewModel() { CouponsStatus = entity.Status, VendorSysNo = item.VendorSysNo, VendorName = item.VendorName, IsChecked = false }); } } } else { viewmodel.ProductCondition = new PSProductConditionViewModel(); viewmodel.ProductCondition.RelBrands = new RelBrandViewModel(); viewmodel.ProductCondition.RelBrands.IsIncludeRelation = true; viewmodel.ProductCondition.RelCategories = new RelCategory3ViewModel(); viewmodel.ProductCondition.RelCategories.IsIncludeRelation = true; viewmodel.ProductCondition.RelProducts = new RelProductViewModel(); viewmodel.ProductCondition.RelProducts.IsIncludeRelation = true; } #endregion #region 客户条件处理 /* * 说明:由于原数据库设计变态,因此为了保证原来的兼容性,所以这里转换比较复杂 * (1)如果限定类型是“无限定”,是插入了一条用户组的SysNo为-1记录到Coupon_SaleRules表:Type=R, CustomerRank=-1。 * (2)如果限定类型是限定用户组,那么插入CustomerRank的SysNo记录到Coupon_SaleRules表:Type=R, CustomerRank=SysNo。 * (3)如果限定类型是自选用户,那么插入Customer SysNo数据到Coupon_SaleRulesCustomer表。 * 对于上述三种情况,转换到ViewModel中时, * 情况(1)则viewmodel.IsCustomerNoLimit = true,并且清空RelCustomerRanks.CustomerRankList * 但是在VtoE时,记得需要将viewmodel.IsCustomerNoLimit转换为CustomerRank=-1 的RelCustomerRanks.CustomerRankList一条记录 * * (4)如果再限定用户地区,那么插入地区的SysNo到Coupon_SaleRules表:Type=A, AreaSysNo=SysNo * */ if (viewmodel.CustomerCondition == null) { viewmodel.CustomerCondition = new PSCustomerConditionViewModel(); viewmodel.CustomerCondition.RelAreas = new RelAreaViewModel(); viewmodel.CustomerCondition.RelCustomerRanks = new RelCustomerRankViewModel(); viewmodel.CustomerCondition.RelCustomers = new RelCustomerViewModel(); viewmodel.CustomerCondition.NeedEmailVerification = false; viewmodel.CustomerCondition.NeedMobileVerification = false; viewmodel.CustomerCondition.InvalidForAmbassador = false; } else { if (!viewmodel.CustomerCondition.NeedEmailVerification.HasValue) { viewmodel.CustomerCondition.NeedEmailVerification = false; } if (!viewmodel.CustomerCondition.NeedMobileVerification.HasValue) { viewmodel.CustomerCondition.NeedMobileVerification = false; } if (!viewmodel.CustomerCondition.InvalidForAmbassador.HasValue) { viewmodel.CustomerCondition.InvalidForAmbassador = false; } if (viewmodel.CustomerCondition.RelAreas != null && viewmodel.CustomerCondition.RelAreas.AreaList != null) { foreach (SimpleObjectViewModel sim in viewmodel.CustomerCondition.RelAreas.AreaList) { sim.IsChecked = false; } if (viewmodel.CustomerCondition.RelAreas.AreaList.Count > 0) { viewmodel.IsAreaLimit = true; viewmodel.IsAreaNoLimit = false; } } else { viewmodel.CustomerCondition.RelAreas = new RelAreaViewModel(); } if (viewmodel.CustomerCondition.RelCustomerRanks != null && viewmodel.CustomerCondition.RelCustomerRanks.CustomerRankList != null) { foreach (SimpleObjectViewModel sim in viewmodel.CustomerCondition.RelCustomerRanks.CustomerRankList) { sim.IsChecked = false; CustomerRank cr = (CustomerRank)Enum.Parse(typeof(CustomerRank), sim.SysNo.Value.ToString(), true); sim.Name = EnumConverter.GetDescription(cr); } if (viewmodel.CustomerCondition.RelCustomerRanks.CustomerRankList.Count > 0) { if (viewmodel.CustomerCondition.RelCustomerRanks.CustomerRankList.Count == 1 && viewmodel.CustomerCondition.RelCustomerRanks.CustomerRankList[0].SysNo == -1) { viewmodel.IsCustomerRank = false; viewmodel.IsCustomerID = false; viewmodel.IsCustomerNoLimit = true; viewmodel.CustomerCondition.RelCustomerRanks.CustomerRankList.Clear(); } else { viewmodel.IsCustomerRank = true; viewmodel.IsCustomerID = false; viewmodel.IsCustomerNoLimit = false; } } } else { viewmodel.CustomerCondition.RelCustomerRanks = new RelCustomerRankViewModel(); } if (viewmodel.CustomerCondition.RelCustomers != null && viewmodel.CustomerCondition.RelCustomers.CustomerIDList != null) { foreach (CustomerAndSendViewModel sim in viewmodel.CustomerCondition.RelCustomers.CustomerIDList) { sim.IsChecked = false; } if (viewmodel.CustomerCondition.RelCustomers.CustomerIDList.Count > 0) { viewmodel.IsCustomerRank = false; viewmodel.IsCustomerID = true; viewmodel.IsCustomerNoLimit = false; } } else { viewmodel.CustomerCondition.RelCustomers = new RelCustomerViewModel(); } } #endregion if (viewmodel.OrderAmountDiscountRule == null) { viewmodel.OrderAmountDiscountRule = new PSOrderAmountDiscountRuleViewModel(); } else { if (viewmodel.OrderAmountDiscountRule.OrderAmountDiscountRank != null && viewmodel.OrderAmountDiscountRule.OrderAmountDiscountRank.Count > 0) { //foreach (OrderAmountDiscountRankViewModel rank in viewmodel.OrderAmountDiscountRule.OrderAmountDiscountRank) //{ // if (rank.DiscountType.Value == PSDiscountTypeForOrderAmount.OrderAmountPercentage) // { // rank.DiscountValue = rank.DiscountValue.Value * 100; // } //} } } if (viewmodel.OrderCondition == null) { viewmodel.OrderCondition = new PSOrderConditionViewModel(); } //SHIPTYPE ,PAYTYPE 转换 if (viewmodel.OrderCondition != null && viewmodel.OrderCondition.ShippingTypeSysNoList != null && viewmodel.OrderCondition.ShippingTypeSysNoList.Count > 0) { viewmodel.ShipTypeSysNo = entity.OrderCondition.ShippingTypeSysNoList[0]; } if (viewmodel.OrderCondition != null && viewmodel.OrderCondition.PayTypeSysNoList != null && viewmodel.OrderCondition.PayTypeSysNoList.Count > 0) { viewmodel.PayTypeSysNo = entity.OrderCondition.PayTypeSysNoList[0]; } if (viewmodel.BindCondition == null) { viewmodel.BindCondition = CouponsBindConditionType.None; } if (viewmodel.ValidPeriod == null) { viewmodel.ValidPeriod = CouponsValidPeriodType.All; } if (viewmodel.UsingFrequencyCondition == null) { viewmodel.UsingFrequencyCondition = new PSActivityFrequencyConditionViewModel(); } if (!viewmodel.IsAutoBinding.HasValue) { viewmodel.IsAutoBinding = false; } if (!viewmodel.IsAutoUse.HasValue) { viewmodel.IsAutoUse = false; } if (!viewmodel.IsExistThrowInTypeCouponCode.HasValue) { viewmodel.IsExistThrowInTypeCouponCode = false; } if (!viewmodel.IsSendMail.HasValue) { viewmodel.IsSendMail = false; } if (viewmodel.BindRule == null) { viewmodel.BindRule = new CouponBindRuleViewModel(); } if (viewmodel.BindRule.RelProducts == null) { viewmodel.BindRule.RelProducts = new RelProductViewModel(); } //viewmodel.BindRule = new CouponBindRuleViewModel(); //viewmodel.BindRule.RelProducts = new RelProductViewModel(); //if (entity.BindCondition == CouponsBindConditionType.SO) //{ // if (entity.BindRule != null) // { // viewmodel.BindRule.AmountLimit = entity.BindRule.AmountLimit; // if (entity.BindRule.RelProducts != null) // { // viewmodel.BindRule.RelProducts.IsIncludeRelation = entity.BindRule.RelProducts.IsIncludeRelation; // viewmodel.BindRule.RelProducts.IsExcludeRelation = !entity.BindRule.RelProducts.IsIncludeRelation; // if (entity.BindRule.RelProducts.ProductList != null && entity.BindRule.RelProducts.ProductList.Count > 0) // { // viewmodel.BindRule.RelProducts.ProductList = new List<RelProductAndQty>(); // foreach (var itemViewModel in entity.BindRule.RelProducts.ProductList) // { // RelProductAndQtyViewModel item = new RelProductAndQtyViewModel(); // item.ProductSysNo = itemViewModel.ProductSysNo; // item.MinQty = itemViewModel.MinQty; // item.ProductID = itemViewModel.ProductID; // item.ProductName = itemViewModel.ProductName; // item.AvailableQty = itemViewModel.AvailableQty; // item.ConsignQty = itemViewModel.ConsignQty; // item.VirtualQty = itemViewModel.VirtualQty; // item.UnitCost = itemViewModel.UnitCost; // item.CurrentPrice = itemViewModel.CurrentPrice; // item.GrossMarginRate = itemViewModel.GrossMarginRate; // item.Priority = itemViewModel.Priority; // item.ProductRangeType = itemViewModel.ProductRangeType; // viewmodel.BindRule.RelProducts.ProductList.Add(item); // } // } // } // } //} return(viewmodel); }