Exemple #1
0
 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();
 }
Exemple #2
0
        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();
        }