private void btnAddSaleStageSetting_Click(object sender, RoutedEventArgs e) { int getCurrentStageCount = this.spSaleStageSettings.Children.Count; decimal?getLastStageAmtEnd = null; decimal?getLastStagePercentage = null; if (0 < getCurrentStageCount) { getLastStageAmtEnd = ((VendorSaleStageSettingsItem)this.spSaleStageSettings.Children.Last()).StageAmtEndVal; getLastStagePercentage = ((VendorSaleStageSettingsItem)this.spSaleStageSettings.Children.Last()).StagePercentage; } if (getCurrentStageCount < 3) { if (!string.IsNullOrEmpty(this.lblStagedAmtBegin_Last.Text)) { this.lblStagedAmtBegin_Last.Text = string.Empty; } //如果没有超过最大添加数量(3个阶梯),则添加新的UserControl: VendorSaleStageSettingsItem newStageAddSettingItem = new VendorSaleStageSettingsItem() { Name = string.Format("ucStageSettingItem_{0}", (getCurrentStageCount + 1)), StageAmtBeginVal = getLastStageAmtEnd }; if (getCurrentStageCount > 0) { newStageAddSettingItem.lblStagedAmtBegin.Text = !getLastStageAmtEnd.HasValue ? string.Empty : getLastStageAmtEnd.Value.ToString(); } newStageAddSettingItem.OnBeginStageAmtChanged += (obj, args) => { SetSaleStageChangedEvent(args); }; this.spSaleStageSettings.Children.Add(newStageAddSettingItem); } //如果超过最大添加数量(3个阶梯),更新BUTTON状态: UpdateOperationButtionsState(); }
public void BindVendorSaleStageList() { for (int index = 0; index < VendorStageSaleSettingsList.Count - 1; ++index) { int getCurrentStageCount = this.spSaleStageSettings.Children.Count; VendorSaleStageSettingsItem newStageAddSettingItem = new VendorSaleStageSettingsItem() { Name = string.Format("ucStageSettingItem_{0}", (getCurrentStageCount + 1)), StageAmtBeginVal = VendorStageSaleSettingsList[index].StartAmt, StageAmtEndVal = VendorStageSaleSettingsList[index].EndAmt, StagePercentage = VendorStageSaleSettingsList[index].Percentage }; newStageAddSettingItem.OnBeginStageAmtChanged += (obj, args) => { SetSaleStageChangedEvent(args); }; this.spSaleStageSettings.Children.Add(newStageAddSettingItem); } if (VendorStageSaleSettingsList.Count >= 1) { this.lblStagedAmtBegin_Last.Text = VendorStageSaleSettingsList[VendorStageSaleSettingsList.Count - 1].StartAmt.HasValue ? VendorStageSaleSettingsList[VendorStageSaleSettingsList.Count - 1].StartAmt.Value.ToString() : "0"; this.lblStagedAmtEnd_Last.Text = "MAX"; this.txtStagedPercentage_Last.Text = VendorStageSaleSettingsList[VendorStageSaleSettingsList.Count - 1].Percentage.HasValue ? VendorStageSaleSettingsList[VendorStageSaleSettingsList.Count - 1].Percentage.Value.ToString() : "0"; } }
/// <summary> /// 重新构建SaleRuleItems /// </summary> private void RefreshVendorSaleRuleList() { if (null != ucSaleStageSettings.VendorStageSaleSettingsList) { this.ucSaleStageSettings.VendorStageSaleSettingsList.Clear(); } else { this.ucSaleStageSettings.VendorStageSaleSettingsList = new List <VendorStagedSaleRuleInfoVM>(); } int index = 1; foreach (var ucItem in this.ucSaleStageSettings.spSaleStageSettings.Children) { if (ucItem is VendorSaleStageSettingsItem) { VendorSaleStageSettingsItem uc = (VendorSaleStageSettingsItem)ucItem; this.ucSaleStageSettings.VendorStageSaleSettingsList.Add(new VendorStagedSaleRuleInfoVM() { Order = index, StartAmt = uc.StageAmtBeginVal, EndAmt = uc.StageAmtEndVal, Percentage = uc.StagePercentage }); } index++; } if (!string.IsNullOrEmpty(this.ucSaleStageSettings.txtStagedPercentage_Last.Text)) { this.ucSaleStageSettings.VendorStageSaleSettingsList.Add(new VendorStagedSaleRuleInfoVM() { Order = index, StartAmt = string.IsNullOrEmpty(this.ucSaleStageSettings.lblStagedAmtBegin_Last.Text) ? 0 : decimal.Parse(this.ucSaleStageSettings.lblStagedAmtBegin_Last.Text), EndAmt = 0, Percentage = string.IsNullOrEmpty(this.ucSaleStageSettings.txtStagedPercentage_Last.Text) ? 0 : decimal.Parse(this.ucSaleStageSettings.txtStagedPercentage_Last.Text), }); } }