public async Task <IActionResult> Deposit() { var accountId = Convert.ToInt32(HttpContext.Session.GetString(SessionKeyAccountId)); var account = await _context.Accounts .AsNoTracking() .SingleOrDefaultAsync(x => x.AccountID == accountId); ViewModels.Deposit depositViewModel = new ViewModels.Deposit(); depositViewModel.AccountNumber = account.AccountNumber; depositViewModel.Balance = account.Balance; return(View(depositViewModel)); }
public async Task <IActionResult> Deposit(ViewModels.Deposit depositViewModel) { try { var accountName = HttpContext.Session.GetString(SessionKeyAccountName); var accountId = Convert.ToInt32(HttpContext.Session.GetString(SessionKeyAccountId)); if (ModelState.IsValid) { Transaction transaction = new Transaction(); transaction.AccountID = accountId; transaction.Amount = depositViewModel.Amount; transaction.TransactionType = Transaction.TransactionTypeEnum.Deposit; _context.Add(transaction); var commitResult = await _context.SaveChangesAsync(); if (commitResult > 0) { var account = await _context.Accounts .AsNoTracking() .SingleOrDefaultAsync(x => x.AccountID == transaction.AccountID); account.Balance += transaction.Amount; _context.Update(account); await _context.SaveChangesAsync(); } return(RedirectToAction("Index", "Home")); } } catch (DbUpdateException /* ex */) { //Log the error (uncomment ex variable name and write a log. ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists " + "see your system administrator."); } return(null); }
public async Task <IActionResult> Index() { try { var accountId = Convert.ToInt32(HttpContext.Session.GetString(SessionKeyAccountId)); var account = await _context.Accounts .AsNoTracking() .SingleOrDefaultAsync(x => x.AccountID == accountId); ViewModels.Deposit depositViewModel = new ViewModels.Deposit(); depositViewModel.AccountNumber = account.AccountNumber; depositViewModel.Balance = account.Balance; return(View(depositViewModel)); } catch (DbUpdateException /* ex */) { //Log the error (uncomment ex variable name and write a log. ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists " + "see your system administrator."); } return(null); }