public ActionResult Login(LoginViewModel loginViewModel) { var user = Session["logged_user"] as User; if (user != null) { return HandleRedirectionBasedOnUserRole(user); } try { var loggedUser = authenticationService.Authenticate(loginViewModel.UserName, loginViewModel.Password, loginViewModel.BranchName); if (!loggedUser.IsActive) { return HandleUserLoginError(loginViewModel, "Username is deactivated"); } authenticationService.SetAuthCookie(loginViewModel.UserName); Session["logged_user"] = loggedUser; return HandleRedirectionBasedOnUserRole(loggedUser); } catch (ArgumentException exception) { return HandleUserLoginError(loginViewModel, exception.Message); } }
private ActionResult HandleUserLoginError(LoginViewModel loginViewModel, string modelErrorMessage) { PutBranchesInViewBag(); ModelState.AddModelError("UserName", modelErrorMessage); return View(loginViewModel); }