Esempio n. 1
0
        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();
                }
            });
        }
Esempio n. 2
0
 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);
 }