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)); }
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)); }