public UCRefundBalanceMaintain(int refundSysNo, int refundBalanceSysNo, string action) { this.RefundSysNo = refundSysNo; this.RefundBalanceSysNo = refundBalanceSysNo; this.Action = action; MaintainVM = new RefundBalanceMaintainVM(); facade = new RefundBalanceFacade(CPApplication.Current.CurrentPage); InitializeComponent(); InitControls(); BuildValidate(); }
private void InitControls() { facade.LoadRefundItemListRefundSysNo(RefundSysNo, (obj, args) => { List <RefundItemInfo> result = args.Result; result.Add(new RefundItemInfo() { ProductSysNo = 0, ProductID = ResRefundBalance.RefundBalanceType_Other }); Combox_BalanceType.ItemsSource = result.Select(p => new KeyValuePair <int, string>(p.ProductSysNo.Value, p.ProductID)).Distinct().ToList(); }); #region 根据Action 设置ViewModel if (Action == "Create") { facade.LoadNewRefundBalanceByRefundSysNo(RefundSysNo, (obj, args) => { if (args.FaultsHandle()) { Dialog.Close(); return; } MaintainVM = args.Result.Convert <RefundBalanceInfo, RefundBalanceMaintainVM>(); MaintainVM.CustomerID = args.Result.CustomerID; if (args.Result.IncomeBankInfo != null) { MaintainVM.BankName = args.Result.IncomeBankInfo.BankName; MaintainVM.BranchBankName = args.Result.IncomeBankInfo.BranchBankName; MaintainVM.CardNo = args.Result.IncomeBankInfo.CardNumber; MaintainVM.CardOwnerName = args.Result.IncomeBankInfo.CardOwnerName; MaintainVM.PostAddress = args.Result.IncomeBankInfo.PostAddress; MaintainVM.PostCode = args.Result.IncomeBankInfo.PostCode; MaintainVM.ReceiverName = args.Result.IncomeBankInfo.ReceiverName; MaintainVM.IncomeNote = args.Result.IncomeBankInfo.Note; } this.DataContext = MaintainVM; Combox_BalanceType.SelectedIndex = 0; Combox_RefundPayType.IsEnabled = true; Combox_BalanceType.IsEnabled = true; Text_CashAmount.IsEnabled = true; TextBox_Note.IsEnabled = true; MaintainVM.ValidationErrors.Clear(); }); } else { facade.LoadRefundBalanceBySysNo(RefundBalanceSysNo, (obj, args) => { MaintainVM = args.Result.Convert <RefundBalanceInfo, RefundBalanceMaintainVM>(); MaintainVM.CustomerID = args.Result.CustomerID; if (args.Result.IncomeBankInfo != null) { MaintainVM.BankName = args.Result.IncomeBankInfo.BankName; MaintainVM.BranchBankName = args.Result.IncomeBankInfo.BranchBankName; MaintainVM.CardNo = args.Result.IncomeBankInfo.CardNumber; MaintainVM.CardOwnerName = args.Result.IncomeBankInfo.CardOwnerName; MaintainVM.PostAddress = args.Result.IncomeBankInfo.PostAddress; MaintainVM.PostCode = args.Result.IncomeBankInfo.PostCode; MaintainVM.ReceiverName = args.Result.IncomeBankInfo.ReceiverName; MaintainVM.IncomeNote = args.Result.IncomeBankInfo.Note; } this.DataContext = MaintainVM; if (Action == "Aduit") { if (MaintainVM.RefundPayType == RefundPayType.NetWorkRefund) { TextBox_BankName.IsEnabled = true; } else if (MaintainVM.RefundPayType == RefundPayType.PostRefund) { Text_PostAddress.IsEnabled = Text_PostCode.IsEnabled = Text_ReceiverName.IsEnabled = true; } else if (MaintainVM.RefundPayType == RefundPayType.BankRefund) { TextBox_BankName.IsEnabled = Text_BranchBankName.IsEnabled = Text_CardNo.IsEnabled = Text_CardOwnerName.IsEnabled = true; } TextBox_IncomeNote.IsEnabled = true; } MaintainVM.ValidationErrors.Clear(); }); } #endregion SetControlStatus(); }