public IActionResult BusinessAccountCalcInterest(ViewSavingsAccountViewModel vm)
        {
            var bank    = Utility.Utility.GetBankData(_env.WebRootPath);
            var account = bank.BusinessAccounts.Single(ba => ba.AccountID == vm.AccountID);
            var result  = account.CalculateInterest();

            Utility.Utility.SaveBankData(_env.WebRootPath, bank);
            return(RedirectToAction("ViewBusinessAccount", "Account", new { id = account.AccountID, message = result }));
        }
        public IActionResult BonusSavingsAccountResetLastDebit(ViewSavingsAccountViewModel vm)
        {
            var bank    = Utility.Utility.GetBankData(_env.WebRootPath);
            var account = bank.BonusSavingsAccounts.Single(sa => sa.AccountID == vm.AccountID);
            var result  = account.ResetDebitCounter();

            Utility.Utility.SaveBankData(_env.WebRootPath, bank);
            return(RedirectToAction("ViewBonusSavingsAccount", "Account", new { id = account.AccountID, message = result }));
        }
        public IActionResult BonusSavingsAccountCredit(ViewSavingsAccountViewModel vm)
        {
            //pull acc from file, perform operation, then redirect to page with result!
            var bank    = Utility.Utility.GetBankData(_env.WebRootPath);
            var account = bank.BonusSavingsAccounts.Single(sa => sa.AccountID == vm.AccountID);
            var result  = account.Credit(vm.CreditAmount);

            //now save to file
            Utility.Utility.SaveBankData(_env.WebRootPath, bank);
            return(RedirectToAction("ViewBonusSavingsAccount", "Account", new { id = account.AccountID, message = result }));
        }
        public IActionResult ViewSavingsAccount(Guid id, Message?message)
        {
            //get account from file. populate view model
            var bank    = Utility.Utility.GetBankData(_env.WebRootPath);
            var account = bank.SavingsAccounts.Single(sa => sa.AccountID == id);
            var vm      = new ViewSavingsAccountViewModel()
            {
                AccountID    = account.AccountID,
                InterestRate = account.InterestRate,
                Balance      = account.Balance,
            };

            if (message != null)
            {
                vm.Message = (Message)message;
            }
            return(View(vm));
        }