public async Task <IActionResult> Deposit(string id) { if (id == null) { return(NotFound()); } var user = await userManager.FindByIdAsync(id); var customer = new CustomerDepositViewModel { Id = user.Id, Name = user.Name, Address = user.Address, Balance = user.Balance, AccountNumber = user.AccountNumber, CardNumber = user.CardNumber, AccountType = user.AccountType }; if (customer == null) { return(NotFound()); } return(View(customer)); }
public async Task <ActionResult> Deposit(string id, [Bind("Id,Name,Address,Balance,AccountNumber,CardNumber,AccountType, DepositAmount")] CustomerDepositViewModel obj) { if (id != obj.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var data = await userManager.FindByIdAsync(id); //var data = await _context.Customer.Where(obj1 => obj1.AccountNumber == obj.AccountNumber).FirstOrDefaultAsync(); if (!(obj.DepositAmount <= 0)) { data.Balance += obj.DepositAmount; AccountTransaction transaction = new AccountTransaction { CusId = data.Id, Amount = obj.DepositAmount, TransactionDate = DateTime.Now, TransactionType = "Deposit" }; _context.Transaction.Add(transaction); int mess = _context.SaveChanges(); if (mess >= 1) { var result = await userManager.UpdateAsync(data); if (result.Succeeded) { ViewBag.data = "Deposit Completed"; _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } } else { ModelState.AddModelError(string.Empty, "Deposit Failed"); } } else { ModelState.AddModelError(string.Empty, "Can not deposit a value less that or equal to 0."); } return(View(obj)); } catch (DbUpdateConcurrencyException) { if (await userManager.FindByIdAsync(obj.Id) == null) { return(NotFound()); } else { throw; } } } return(View(obj)); }