public ActionResult TransactionDetail(AccountingAccountTransactionDetailViewModel accountingAccountTransactionDetailViewModel)
        {
            ModelState.Clear();

            if (accountingAccountTransactionDetailViewModel.AccountingPeriodTimeFrame.HasValue && accountingAccountTransactionDetailViewModel.AccountingPeriodTimeFrame.GetValueOrDefault() != 0)
            {
                AccountingPeriodTimeFrame af = unitOfWork.AccountingPeriodTimeFrameRepository.GetByID(accountingAccountTransactionDetailViewModel.AccountingPeriodTimeFrame.GetValueOrDefault());
                accountingAccountTransactionDetailViewModel.StartDate = af.StartDate;
                accountingAccountTransactionDetailViewModel.EndDate = af.EndDate;
            }

            GetAccountTotal(accountingAccountTransactionDetailViewModel);
            return View("AccountingAccountTransactionDetail", SetupAccountingAccountTransactionDetailViewModel(accountingAccountTransactionDetailViewModel));
        }
        public ActionResult AccountingAccountTransactionDetail(int accountTransactionAccountID, string accountTitle, DateTime? sd = null, DateTime? ed = null)
        {
            AccountingAccountTransactionDetailViewModel accountingAccountTransactionDetailViewModel = new AccountingAccountTransactionDetailViewModel();
            accountingAccountTransactionDetailViewModel.StartDate = sd ?? DateTime.Now.AddDays(-30);
            accountingAccountTransactionDetailViewModel.EndDate = ed ?? DateTime.Now;
            accountingAccountTransactionDetailViewModel.AccountTitle = accountTitle;
            accountingAccountTransactionDetailViewModel.AccountTransactionAccountID = accountTransactionAccountID;

            //IEnumerable<TransactionsToComputeAccountTotal> transactions = this.unitOfWork.SQLQueryRepository.GetTransactionsToComputeAccountTotal(accountingAccountTransactionDetailViewModel.StartDate);
            //ComputeAccountTotal computeAccountTotal = new ComputeAccountTotal(accountingAccountTransactionDetailViewModel.AccountTransactionAccountID, transactions);
            //accountingAccountTransactionDetailViewModel.AccountTotal = computeAccountTotal.GetAccountTotal();

            GetAccountTotal(accountingAccountTransactionDetailViewModel);

            return View(SetupAccountingAccountTransactionDetailViewModel(accountingAccountTransactionDetailViewModel));
        }
 private AccountingAccountTransactionDetailViewModel SetupAccountingAccountTransactionDetailViewModel(AccountingAccountTransactionDetailViewModel accountingAccountTransactionDetailViewModel)
 {
     accountingAccountTransactionDetailViewModel.AccountingPeriodTimeFrameSelectList = unitOfWork.AccountingPeriodTimeFrameRepository.AccountingPeriodTimeFrameSelectList(accountingAccountTransactionDetailViewModel.AccountingPeriodTimeFrame.GetValueOrDefault());
     return accountingAccountTransactionDetailViewModel;
 }
 private void GetAccountTotal(AccountingAccountTransactionDetailViewModel accountingAccountTransactionDetailViewModel)
 {
     IEnumerable<TransactionsToComputeAccountTotal> transactions = this.unitOfWork.SQLQueryRepository.GetTransactionsToComputeAccountTotal(accountingAccountTransactionDetailViewModel.StartDate.GetValueOrDefault(), accountingAccountTransactionDetailViewModel.EndDate.GetValueOrDefault());
     ComputeAccountTotal computeAccountTotal = new ComputeAccountTotal(accountingAccountTransactionDetailViewModel.AccountTransactionAccountID, transactions);
     accountingAccountTransactionDetailViewModel.AccountTotal =  computeAccountTotal.GetAccountTotal();
 }