void login_request_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (!networkConnectionProblem)
            {
                if (networkResponse.Trim() == "LOGIN ERROR")
                {
                    MessageBox.Show("Username / Password wrong.", "Login error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                if (networkResponse.Trim() == "LOGIN OK")
                {
                    // Save account
                    AccountLoader.SaveAccount(txtName.Text, txtPassword.Password);

                    PAGE_STATES.PAGE_HOST.loadWindow(txtName.Text);
                    PAGE_STATES.NAV_FRAME.Navigate(PAGE_STATES.PAGE_HOST);
                }
            }
            else
            {
                MessageBox.Show(networkResponse, "Server issues", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            txtName.IsEnabled     = true;
            txtPassword.IsEnabled = true;
            btnConnect.IsEnabled  = true;
        }
示例#2
0
        private void SaveAccount(string filename, Account account)
        {
            string path     = Directory.GetCurrentDirectory() + $@"\Accounts\{filename}.acc";
            var    settings = new Settings();

            AccountLoader.Save(path, account, settings);
            AccountTabs.SelectedTab.Text = filename;
        }
示例#3
0
 private void SelectAccount_Click(object sender, EventArgs e)
 {
     if (AccountList.SelectedItems.Count == 0)   // Nothing selected
     {
         return;
     }
     for (int i = 0; i < AccountList.SelectedItems.Count; i++)
     {
         var selected = AccountList.SelectedItems[i];
         Tuple <Account, Settings> tuple = AccountLoader.Load(selected.ImageKey);
         Loading[selected.Text] = tuple;
     }
     AccountList.SelectedIndices.Clear();
     DialogResult = DialogResult.OK;
     Visible      = false;
 }
示例#4
0
        public T initLoader <T>(T repo)
        {
            if (repo == null)
            {
                object newInstance;
                Type   t = typeof(T);
                switch (t.Name)
                {
                case "IAccountLoader": newInstance = new AccountLoader(RLoadr, _repoContext); break;

                case "IArticleLoader": newInstance = new ArticleLoader(RLoadr, _repoContext); break;

                case "IBlogLoader": newInstance = new BlogLoader(RLoadr, _repoContext); break;

                default: throw new RopoLoaderWrapperUnlistedException(typeof(T));
                }
                return((T)newInstance);
            }

            return(repo);
        }
        public MorePaymentPageViewModel(INavigationService navigationService,
                                        IAccountingService accountingService,
                                        IDialogService dialogService
                                        ) : base(navigationService, dialogService)
        {
            Title = "选择支付方式";
            _navigationService = navigationService;
            _dialogService     = dialogService;
            _accountingService = accountingService;

            //加载配置
            this.Load = AccountLoader.Load(async() =>
            {
                var results = await Sync.RunResult(async() =>
                {
                    var result = await _accountingService.GetPaymentMethodsAsync((int)BillType, this.ForceRefresh);
                    //绑定Accounts
                    var options = new List <AccountingModel>();
                    switch (BillType)
                    {
                    case BillTypeEnum.SaleBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.SaleReservationBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.ReturnBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.ReturnReservationBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.CashReceiptBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.PaymentReceiptBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.AdvanceReceiptBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.AdvancePaymentBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.PurchaseBill:
                        {
                            options = result?.Select(a =>
                            {
                                var p = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).FirstOrDefault();
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Name = a.Name,
                                    CollectionAmount = p != null ? p.CollectionAmount : 0,
                                    Balance = (int)AccountingCodeEnum.AdvancePayment == a.AccountCodeTypeId ? AdvancePayment.Balance : 0,
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.PurchaseReturnBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Any(),
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.CostExpenditureBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    Name = a.Name,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;

                    case BillTypeEnum.FinancialIncomeBill:
                        {
                            options = result?.Select(a =>
                            {
                                return(new AccountingModel()
                                {
                                    Default = a.IsDefault,
                                    AccountingOptionId = a.Id,
                                    AccountCodeTypeId = a.AccountCodeTypeId,
                                    Name = a.Name,
                                    Selected = PaymentMethods.Selectes.Where(s => s.AccountCodeTypeId == a.Number).FirstOrDefault()?.Selected ?? false,
                                    CollectionAmount = PaymentMethods.Selectes.Where(s => s.AccountingOptionId == a.Id).Select(s => s.CollectionAmount).FirstOrDefault(),
                                    ParentId = a.ParentId,
                                    Number = a.Number
                                });
                            }).ToList();
                        }
                        break;
                    }
                    return(options);
                });

                //初始
                Accounts = results.Result;

                //RootNodes
                var rootNodes = ProcessXamlItemGroups(GroupData(results.Result));
                //foreach (var node in rootNodes)
                //{
                //    //StackLayout
                //    var xamlItemGroup = (XamlItemGroup)node.BindingContext;
                //}

                this.RootNodes = rootNodes;

                MessagingCenter.Send(rootNodes, Constants.MorePayments);

                return(rootNodes.ToList());
            });


            this.BindBusyCommand(Load);
        }