Example #1
0
        public IActionResult Create(VoucherViewModel 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 for valid Ledger: (FISCAL_YEAR_ID, ACCOUNT_ID, LEDGER_NO)
            if (_accountLedgerData
                .GetAccountLedger(viewModel.FiscalYearId, viewModel.AccountId, viewModel.LedgerNo) == null)
            {
                ModelState.AddModelError("LedgerNo", $"Ledger does not exist.");
            }

            if (ModelState.IsValid)
            {
                var voucher = new Voucher
                {
                    VoucherId       = viewModel.VoucherId,
                    VoucherDate     = viewModel.VoucherDate,
                    VoucherStatusId = viewModel.VoucherStatusId,
                    VoucherTotal    = viewModel.VoucherTotal,
                    FiscalYearId    = viewModel.FiscalYearId,
                    AccountId       = viewModel.AccountId,
                    LedgerNo        = viewModel.LedgerNo,
                    Remarks         = viewModel.Remarks,
                    SystemDate      = viewModel.SystemDate,
                    UserId          = viewModel.UserId
                };

                try
                {
                    _voucherData.AddVoucher(voucher);
                    _voucherData.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["NextId"]       = _voucherData.GetMaxVoucherId() + 1;
            ViewData["FiscalYearId"] = new SelectList(_fiscalYearData.GetFiscalYears(), "FiscalYearId", "YearDescription", viewModel.FiscalYearId);
            return(View(viewModel));
        }
Example #2
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));
        }