private void InitCommand() { SalesRebateAmountRangeCreateCommand = new DelegateCommand((obj) => { double lastMaxValue = SalesRebateAmountRangeLists.Count == 0 ? 0 : SalesRebateAmountRangeLists.Max(x => x.AmountUpper); SalesRebateAmountRangeCreateView view = new SalesRebateAmountRangeCreateView(lastMaxValue); SalesRebateRecentParameterSonModel inputEntity = new SalesRebateRecentParameterSonModel() { Guid = Entity.PGuid }; (view.DataContext as SalesRebateAmountRangeCreateViewModel).WithParam(inputEntity, (type, outputEntity) => { view.Close(); if (type == 1) { var guid = _salesRebateAmountRangeService.RecentSonParameterInsert(outputEntity, inputEntity.Guid); Entity.PGuid = guid; SalesRebateAmountRangeLists.Clear(); _salesRebateAmountRangeService.GetSalesRebateAmountRangeRecentParameterLists(Entity.PGuid).ForEach(x => SalesRebateAmountRangeLists.Add(x)); } }); view.ShowDialog(); }); SalesRebateAmountRangeRemoveCommand = new DelegateCommand((obj) => { //删除操作不能直接把分段表数据删除,因为计算结果表SJSalesRebate也引用了这个参数表,所以只能先复制一份然后再做增删改 //var newGuid = _salesRebateAmountRangeService.RecentSonParameterClear(); Entity.PGuid = Guid.Parse("00000000-0000-0000-0000-000000000000"); SalesRebateAmountRangeLists.Clear(); }); RebatePctTypeSelectionChangedCommand = new DelegateCommand((obj) => { if (Entity.RebatePctType == 2) { Entity.RebatePctValue = null; SalesRebateAmountRangeLists.Clear(); _salesRebateAmountRangeService.GetSalesRebateAmountRangeRecentParameterLists(Entity.PGuid).ForEach(x => SalesRebateAmountRangeLists.Add(x)); } else { Entity.AmountRangeCalculateType = -1; Entity.PGuid = Guid.Parse("00000000-0000-0000-0000-000000000000"); SalesRebateAmountRangeLists.Clear(); } }); }
public override void Save(object obj) { if (Entity.RebatePctType == 0 || Entity.TaxAmountType == 0 || Entity.MinusLastPeriodRebateType == 0) { MessageBox.Show("下拉框必须选择"); return; } else if (Entity.RebatePctType == 1 && (Entity.RebatePctValue == null || Entity.RebatePctValue.Value <= 0 || Entity.RebatePctValue.Value > 80)) { MessageBox.Show("固定返利类型,必须填写正确的数值"); return; } else if (Entity.RebatePctType == 2 && (SalesRebateAmountRangeLists.Count() == 0 || Entity.AmountRangeCalculateType < 1)) { MessageBox.Show("分段返利类型,必须添加明细和指定分段金额类型"); return; } base.Save(obj); }