Пример #1
0
        public BudgetListViewModel(
            ILoggerFactory loggerFactory,
            IBudgetService budgetService,
            ICurrencyService currencyService,
            ITransactionService transactionService,
            IDeleteConfirmationViewService deleteConfirmationViewService,
            IBudgetItemViewModelFactory budgetItemViewModelFactory,
            IBudgetCreateViewService budgetCreateViewService,
            IBudgetEditViewService budgetEditViewService,
            IPaydayEventViewService paydayEventViewService,
            ITransactionBatchCreateConfirmViewService transactionBatchCreateConfirmViewService)
        {
            m_logger                                   = loggerFactory.CreateLogger <BudgetListViewModel>();
            m_budgetService                            = budgetService;
            m_currencyService                          = currencyService;
            m_transactionService                       = transactionService;
            m_deleteConfirmationViewService            = deleteConfirmationViewService;
            m_budgetItemViewModelFactory               = budgetItemViewModelFactory;
            m_budgetCreateViewService                  = budgetCreateViewService;
            m_budgetEditViewService                    = budgetEditViewService;
            m_paydayEventViewService                   = paydayEventViewService;
            m_transactionBatchCreateConfirmViewService = transactionBatchCreateConfirmViewService;

            PopulateBudgets();
        }
Пример #2
0
        public AccountTransactionListViewModel(
            ILoggerFactory loggerFactory,
            IAccountService accountService,
            ITransactionService transactionService,
            IAccountTransactionItemViewModelFactory accountTransactionItemViewModelFactory,
            IDeleteConfirmationViewService deleteConfirmationViewService,
            ITransactionCreateViewService transactionCreateViewService,
            ITransactionEditViewService transactionEditViewService,
            IReconcileBalanceViewService reconcileBalanceViewService,
            int accountId)
        {
            m_logger             = loggerFactory.CreateLogger <AccountTransactionListViewModel>();
            m_accountService     = accountService;
            m_transactionService = transactionService;
            m_accountTransactionItemViewModelFactory = accountTransactionItemViewModelFactory;
            m_deleteConfirmationViewService          = deleteConfirmationViewService;
            m_transactionCreateViewService           = transactionCreateViewService;
            m_transactionEditViewService             = transactionEditViewService;
            m_reconcileBalanceViewService            = reconcileBalanceViewService;

            m_accountId          = accountId;
            m_logicalAccountIds  = new List <int>(m_accountService.GetLogicalAccountIds(m_accountId));
            m_hasLogicalAccounts = m_logicalAccountIds.Any();
            ShowLogicalAccounts  = m_hasLogicalAccounts;

            PopulateTransactions();
        }
Пример #3
0
 public BudgetTransactionListViewModelFactory(
     ILoggerFactory loggerFactory,
     IAccountService accountService,
     IBudgetService budgetService,
     IAccountLinkViewModelFactory accountLinkViewModelFactory,
     IBudgetTransactionItemViewModelFactory budgetTransactionItemViewModelFactory,
     IDeleteConfirmationViewService deleteConfirmationViewService)
 {
     m_loggerFactory  = loggerFactory;
     m_accountService = accountService;
     m_budgetService  = budgetService;
     m_accountLinkViewModelFactory           = accountLinkViewModelFactory;
     m_budgetTransactionItemViewModelFactory = budgetTransactionItemViewModelFactory;
     m_deleteConfirmationViewService         = deleteConfirmationViewService;
 }
Пример #4
0
 public AccountRelationshipListViewModelFactory(
     ILoggerFactory loggerFactory,
     IAccountRelationshipService accountRelationshipService,
     IAccountRelationshipItemViewModelFactory accountRelationshipItemViewModelFactory,
     IAccountRelationshipCreateViewService accountRelationshipCreateViewService,
     IAccountRelationshipEditViewService accountRelationshipEditViewService,
     IDeleteConfirmationViewService deleteConfirmationViewService)
 {
     m_loggerFactory = loggerFactory;
     m_accountRelationshipService = accountRelationshipService;
     m_accountRelationshipItemViewModelFactory = accountRelationshipItemViewModelFactory;
     m_accountRelationshipCreateViewService    = accountRelationshipCreateViewService;
     m_accountRelationshipEditViewService      = accountRelationshipEditViewService;
     m_deleteConfirmationViewService           = deleteConfirmationViewService;
 }
Пример #5
0
 public TransactionListViewModelFactory(
     ILoggerFactory loggerFactory,
     ITransactionService transactionService,
     ITransactionItemViewModelFactory transactionItemViewModelFactory,
     IDeleteConfirmationViewService deleteConfirmationViewService,
     ITransactionCreateViewService transactionCreateViewService,
     ITransactionEditViewService transactionEditViewService)
 {
     m_loggerFactory      = loggerFactory;
     m_transactionService = transactionService;
     m_transactionItemViewModelFactory = transactionItemViewModelFactory;
     m_deleteConfirmationViewService   = deleteConfirmationViewService;
     m_transactionCreateViewService    = transactionCreateViewService;
     m_transactionEditViewService      = transactionEditViewService;
 }
Пример #6
0
 public DatabaseConnectionListViewModelFactory(
     ILoggerFactory loggerFactory,
     IDatabaseConnectionService databaseConnectionService,
     IDatabaseConnectionItemViewModelFactory databaseConnectionItemViewModelFactory,
     IDatabaseConnectionCreateViewService databaseConnectionCreateViewService,
     IDatabaseConnectionEditViewService databaseConnectionEditViewService,
     IDatabaseConnectionPasswordViewService databaseConnectionPasswordViewService,
     IDeleteConfirmationViewService deleteConfirmationViewService)
 {
     m_loggerFactory             = loggerFactory;
     m_databaseConnectionService = databaseConnectionService;
     m_databaseConnectionItemViewModelFactory = databaseConnectionItemViewModelFactory;
     m_databaseConnectionCreateViewService    = databaseConnectionCreateViewService;
     m_databaseConnectionEditViewService      = databaseConnectionEditViewService;
     m_databaseConnectionPasswordViewService  = databaseConnectionPasswordViewService;
     m_deleteConfirmationViewService          = deleteConfirmationViewService;
 }
Пример #7
0
        public TransactionListViewModel(
            ILoggerFactory loggerFactory,
            ITransactionService transactionService,
            ITransactionItemViewModelFactory transactionItemViewModelFactory,
            IDeleteConfirmationViewService deleteConfirmationViewService,
            ITransactionCreateViewService transactionCreateViewService,
            ITransactionEditViewService transactionEditViewService)
        {
            m_logger             = loggerFactory.CreateLogger <TransactionListViewModel>();
            m_transactionService = transactionService;
            m_transactionItemViewModelFactory = transactionItemViewModelFactory;
            m_deleteConfirmationViewService   = deleteConfirmationViewService;
            m_transactionCreateViewService    = transactionCreateViewService;
            m_transactionEditViewService      = transactionEditViewService;

            PopulateTransactions();
        }
Пример #8
0
 public AccountTransactionListViewModelFactory(
     ILoggerFactory loggerFactory,
     IAccountService accountService,
     ITransactionService transactionService,
     IAccountTransactionItemViewModelFactory accountTransactionItemViewModelFactory,
     IDeleteConfirmationViewService deleteConfirmationViewService,
     ITransactionCreateViewService transactionCreateViewService,
     ITransactionEditViewService transactionEditViewService,
     IReconcileBalanceViewService reconcileBalanceViewService)
 {
     m_loggerFactory      = loggerFactory;
     m_accountService     = accountService;
     m_transactionService = transactionService;
     m_accountTransactionItemViewModelFactory = accountTransactionItemViewModelFactory;
     m_deleteConfirmationViewService          = deleteConfirmationViewService;
     m_transactionCreateViewService           = transactionCreateViewService;
     m_transactionEditViewService             = transactionEditViewService;
     m_reconcileBalanceViewService            = reconcileBalanceViewService;
 }
Пример #9
0
        public DatabaseConnectionListViewModel(
            ILoggerFactory loggerFactory,
            IDatabaseConnectionService databaseConnectionService,
            IDatabaseConnectionItemViewModelFactory databaseConnectionItemViewModelFactory,
            IDatabaseConnectionCreateViewService databaseConnectionCreateViewService,
            IDatabaseConnectionEditViewService databaseConnectionEditViewService,
            IDatabaseConnectionPasswordViewService databaseConnectionPasswordViewService,
            IDeleteConfirmationViewService deleteConfirmationViewService)
        {
            m_logger = loggerFactory.CreateLogger <DatabaseConnectionListViewModel>();
            m_databaseConnectionService = databaseConnectionService;
            m_databaseConnectionItemViewModelFactory = databaseConnectionItemViewModelFactory;
            m_databaseConnectionCreateViewService    = databaseConnectionCreateViewService;
            m_databaseConnectionEditViewService      = databaseConnectionEditViewService;
            m_databaseConnectionPasswordViewService  = databaseConnectionPasswordViewService;
            m_deleteConfirmationViewService          = deleteConfirmationViewService;

            m_password = String.Empty;

            PopulateDatabaseConnections();
        }
Пример #10
0
        public BudgetTransactionListViewModel(
            ILoggerFactory loggerFactory,
            IAccountService accountService,
            IBudgetService budgetService,
            IAccountLinkViewModelFactory accountLinkViewModelFactory,
            IBudgetTransactionItemViewModelFactory budgetTransactionItemViewModelFactory,
            IDeleteConfirmationViewService deleteConfirmationViewService,
            int budgetId)
        {
            m_logger         = loggerFactory.CreateLogger <BudgetTransactionListViewModel>();
            m_accountService = accountService;
            m_budgetService  = budgetService;
            m_accountLinkViewModelFactory           = accountLinkViewModelFactory;
            m_budgetTransactionItemViewModelFactory = budgetTransactionItemViewModelFactory;
            m_deleteConfirmationViewService         = deleteConfirmationViewService;

            m_accountLinks = new ObservableCollection <IAccountLinkViewModel>(
                m_accountService
                .GetAllAsLinks()
                .OrderBy(al => al.Name)
                .Select(al => m_accountLinkViewModelFactory.Create(al)));

            m_budgetId = budgetId;

            if (m_budgetId == 0)
            {
                int firstIncomeAccountId = 0;
                int firstAssetAccountId  = 0;
                int secondAssetAccountId = 0;

                IAccountLinkViewModel firstIncomeAccount =
                    m_accountLinks.FirstOrDefault(al => al.Type == AccountType.Income);
                IAccountLinkViewModel firstAssetAccount =
                    m_accountLinks.FirstOrDefault(al => al.Type == AccountType.Asset);
                IAccountLinkViewModel secondAssetAccount =
                    m_accountLinks.Where(al => al.Type == AccountType.Asset)
                    .ElementAtOrDefault(1);

                if (firstIncomeAccount != null)
                {
                    firstIncomeAccountId = firstIncomeAccount.AccountId;
                }
                if (firstAssetAccount != null)
                {
                    firstAssetAccountId = secondAssetAccount.AccountId;
                }
                if (secondAssetAccount != null)
                {
                    secondAssetAccountId = secondAssetAccount.AccountId;
                }

                var transactions = new List <IBudgetTransactionItemViewModel>();
                BudgetTransaction initialTransaction = new BudgetTransaction
                {
                    CreditAccount = new AccountLink {
                        AccountId = firstIncomeAccountId
                    },
                    DebitAccount = new AccountLink {
                        AccountId = firstAssetAccountId
                    },
                    Amount = 0
                };
                BudgetTransaction surplusTransaction = new BudgetTransaction
                {
                    CreditAccount = new AccountLink {
                        AccountId = firstAssetAccountId
                    },
                    DebitAccount = new AccountLink {
                        AccountId = secondAssetAccountId
                    },
                    Amount = 0
                };
                transactions.Add(CreateItemViewModel(initialTransaction, BudgetTransactionType.Initial));
                transactions.Add(CreateItemViewModel(surplusTransaction, BudgetTransactionType.Surplus));

                Transactions = new ObservableCollection <IBudgetTransactionItemViewModel>(transactions);
            }
            else
            {
                Budget budget = m_budgetService.Get(m_budgetId);

                var transactions = new List <IBudgetTransactionItemViewModel>();
                transactions.Add(CreateItemViewModel(budget.InitialTransaction, BudgetTransactionType.Initial));
                transactions.AddRange(
                    budget.Transactions.Select(t => CreateItemViewModel(t, BudgetTransactionType.Regular))
                    );
                transactions.Add(CreateItemViewModel(budget.SurplusTransaction, BudgetTransactionType.Surplus));

                Transactions = new ObservableCollection <IBudgetTransactionItemViewModel>(transactions);
            }

            CalculateSurplusAmount();
        }