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 Guid RecentSonParameterInsert(SalesRebateRecentParameterSonModel model, Guid mainGuid) { if (mainGuid == Guid.Parse("00000000-0000-0000-0000-000000000000")) { string sql = @"declare @Guid1 uniqueidentifier = newid() ; insert into SJSalesRebateRecentParameterSon(AmountUpper,AmountLower,SalesRebatePctValue,Guid) values(@AmountUpper,@AmountLower,@SalesRebatePctValue,@Guid1); select @Guid1 as r "; using (var connection = SqlDb.UpdateConnection) { return(Guid.Parse(Convert.ToString(connection.ExecuteScalar(sql, model)))); } } else { string sql = $"insert into SJSalesRebateRecentParameterSon(AmountUpper,AmountLower,SalesRebatePctValue,Guid) values(@AmountUpper,@AmountLower,@SalesRebatePctValue,'{mainGuid}');"; using (var connection = SqlDb.UpdateConnection) { connection.Execute(sql, model); return(mainGuid); } } }