private void btnCalculate_Click(object sender, RoutedEventArgs e) { if (ValidationManager.Validate(this.LayoutRoot)) { RefundVM vm = this.DataContext as RefundVM; refundFacade.Calculate(vm, (obj, args) => { vm.SOCashPointRate = args.Result.SOCashPointRate; vm.DeductPointFromAccount = args.Result.DeductPointFromAccount; vm.DeductPointFromCurrentCash = args.Result.DeductPointFromCurrentCash; vm.OrgPointAmt = args.Result.OrgPointAmt; vm.PointAmt = args.Result.PointAmt; vm.OrgCashAmt = args.Result.OrgCashAmt; vm.CashAmt = args.Result.CashAmt; vm.OrgGiftCardAmt = args.Result.OrgGiftCardAmt; vm.GiftCardAmt = args.Result.GiftCardAmt; vm.PriceprotectPoint = args.Result.PriceprotectPoint; //刷新界面的初算退款金额 vm.RefundItems.ForEach(item => { RefundItemInfo tmpInfo = args.Result.RefundItems.FirstOrDefault(x => x.RegisterSysNo == item.RegisterSysNo); if (tmpInfo != null) { item.RefundCash = tmpInfo.RefundCash; } }); Window.Alert(ResRefundMaintain.Info_OperateSuccessfully); }); } }