public IActionResult BankAccount(int userId) { int?currentUserId = HttpContext.Session.GetInt32("User"); var currentUser = db.Users.FirstOrDefault(u => u.UserId == currentUserId); if (db.Users.Any(u => u.UserId == currentUserId)) { if (currentUserId != userId) { return(RedirectToAction("BankAccount", new { userId = currentUserId })); } BankAccountWrapper WMod = new BankAccountWrapper(); WMod.CurrentUser = db.Users.Include(u => u.Transactions).FirstOrDefault(u => u.UserId == currentUserId); WMod.AllUserTransactions = db.Users.Include(u => u.Transactions).FirstOrDefault(u => u.UserId == currentUserId).Transactions.OrderByDescending(t => t.CreatedAt).ToList(); return(View("BankAccount", WMod)); } return(RedirectToAction("Login")); }
public IActionResult ProcessChange(BankAccountWrapper changeAccount) { int?currentUserId = HttpContext.Session.GetInt32("User"); User currentUser = db.Users.FirstOrDefault(u => u.UserId == currentUserId); if (ModelState.IsValid) { if (changeAccount.Transaction.Amount > 0 && currentUser.Balance < changeAccount.Transaction.Amount) { ModelState.AddModelError("Amount", "Your balance must be greater than what you are withdrawing!"); } changeAccount.Transaction.UserId = (int)currentUserId; currentUser.Balance += changeAccount.Transaction.Amount; db.Transactions.Update(changeAccount.Transaction); db.Users.Update(currentUser); db.SaveChanges(); return(RedirectToAction("BankAccount", new { userId = currentUserId })); } return(View("BankAccount", changeAccount)); }