Exemple #1
0
        public IActionResult Create(AccountLedgerViewModel viewModel)
        {
            // Check for valid FiscalYearId
            if (_fiscalYearData.GetFiscalYearById(viewModel.FiscalYearId) == null)
            {
                ModelState.AddModelError("FiscalYearId", $"Fiscal Year does not exist.");
            }

            // Check for valid AccountId
            if (_accountData.GetAccountById(viewModel.AccountId) == null)
            {
                ModelState.AddModelError("AccountId", $"Account ID does not exist.");
            }

            // Check to see if ledger already exists
            if (_accountLedgerData
                .GetAccountLedger(viewModel.FiscalYearId, viewModel.AccountId, viewModel.LedgerNo) != null)
            {
                ModelState.AddModelError("", $"ERROR: A ledger with the Fiscal Year ID, Account ID, and Ledger Number you specified already exists.");
            }

            if (ModelState.IsValid)
            {
                var accountLedger = new AccountLedger
                {
                    FiscalYearId = viewModel.FiscalYearId,
                    AccountId    = viewModel.AccountId,
                    LedgerNo     = viewModel.LedgerNo,
                    Ledger       = viewModel.Ledger,
                    UserId       = viewModel.UserId,
                    Remarks      = viewModel.Remarks
                };

                try
                {
                    _accountLedgerData.AddAccountLedger(accountLedger);
                    _accountLedgerData.Save();
                }
                catch (Exception e)
                {
                    // TODO: Log this exception
                    ModelState.AddModelError(string.Empty, $"ERROR: Unable to save data. Please review your input and try again.");

                    ViewData["FiscalYearId"] = new SelectList(_fiscalYearData.GetFiscalYears(), "FiscalYearId", "YearDescription", viewModel.FiscalYearId);
                    return(View(viewModel));
                }

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["FiscalYearId"] = new SelectList(_fiscalYearData.GetFiscalYears(), "FiscalYearId", "YearDescription", viewModel.FiscalYearId);
            return(View(viewModel));
        }
Exemple #2
0
        public ActionResult AccountLedger()
        {
            Account account = BankLedgerService.AccountService.IsSignedIn(Session);

            if (account == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            ICollection <Ledger> ledgers = BankLedgerService.LedgerService.GetAllLedgers(account);

            var model = new AccountLedgerViewModel
            {
                Ledgers = ledgers?.Select(x => new LedgerViewModel
                {
                    LedgerId        = x.LedgerId,
                    TransactionType = x.TransactionType,
                    Amount          = x.Amount
                }).ToList() ?? new List <LedgerViewModel>()
            };

            return(BaseView("AccountLedger", model));
        }