public async Task <ActionResult> CustomerProfileInput(string name, string phone, string address) { bool success = false; try { OnlineBanking.BusinessProcess.ProfileManager profileManager = new BusinessProcess.ProfileManager(); Customer customer = await profileManager.RequestCustomerProfile(User.Identity.GetUserName()); if (customer != null) { customer.address = address; customer.phone = phone; customer.customerName = name; success = await profileManager.UpdateCustomerProfile(customer); } else { success = false; } } catch (Exception) { success = false; } if (success) { ViewBag.StatusMessage = String.Format("Customer profile updated. Name:{0}, Phone:{1}, Address:{2}", name, phone, address); } else { ViewBag.StatusMessage = String.Format("Customer profile NOT updated. Name:{0}, Phone:{1}, Address:{2}", name, phone, address); } return(View()); }
public async Task <ActionResult> TransferFunds(String fromAccount, String toAccount, String ammount) { bool success = false; try { double Amount = double.Parse(ammount); OnlineBanking.BusinessProcess.ProfileManager profileManager = new BusinessProcess.ProfileManager(); Customer customer = await profileManager.RequestCustomerProfile(User.Identity.GetUserName()); if (customer != null) { OnlineBanking.BusinessProcess.TransferManager transferManager = new BusinessProcess.TransferManager(); success = await transferManager.Transfer(fromAccount, toAccount, Amount, customer.customerID); } else { success = false; } } catch (Exception) { success = false; } if (success) { ViewBag.transferFundSuccess = "The funds transfered successfully."; } else { ViewBag.transferFundSuccess = "There was a problem transfering the funds."; } return(View()); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); // KWD added to return the account numbers and log the transaction BusinessProcess.ProfileManager profileManager = new BusinessProcess.ProfileManager(); DataModel.Customer customer = await profileManager.RequestCustomerProfile(model.Email); BusinessProcess.IDValidationManager validationManager = new BusinessProcess.IDValidationManager(); if (customer != null) { model.Address = customer.address; model.accounts = customer.Accounts; switch (result) { case SignInStatus.Success: validationManager.LogTransaction(customer.customerID, "Success"); return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: validationManager.LogTransaction(customer.customerID, "Lockout"); return(View("Lockout")); case SignInStatus.RequiresVerification: validationManager.LogTransaction(customer.customerID, "SendCode"); return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: validationManager.LogTransaction(customer.customerID, "Invalid"); ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } } else { validationManager.LogTransaction(0, "Invalid"); ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }