public ActionResult Index() { if (User.Identity.IsAuthenticated) { if (User.IsInRole("Teacher")) { return(RedirectToAction("Index", "Teacher")); } if (User.IsInRole("Student")) { return(RedirectToAction("Index", "Student")); } if (User.IsInRole("Parent")) { return(RedirectToAction("Index", "Parent")); } if (User.IsInRole("Admin")) { return(RedirectToAction("Index", "Admin")); } return(RedirectToAction("NotApprovedYet", "Home")); } var gradeLevelRepo = new SqlLMSGradeLevelRepository(); var model = new LoginRegistrationVM(); model.RegisterViewModel.CreateGradeLevel(gradeLevelRepo.GradeLevelGetAll()); model.RegisterViewModel.PopulateSelectListItems(gradeLevelRepo.GradeLevelGetAll());//Added 6/28--Lis return(View(model)); }
public async Task <ActionResult> Login(LoginViewModel LoginViewModel, string returnUrl) { if (!ModelState.IsValid) { var originalModel = new LoginRegistrationVM(); originalModel.LoginViewModel = LoginViewModel; return(View("~/View/Home/Index.cshtml", originalModel)); } // 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(LoginViewModel.Email, LoginViewModel.Password, LoginViewModel.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: var aspNetUser = UserManager.FindByName(LoginViewModel.Email); if (UserManager.IsInRole(aspNetUser.Id, "Admin")) { return(RedirectToAction("Index", "Admin")); } if (UserManager.IsInRole(aspNetUser.Id, "Teacher")) { return(RedirectToAction("Index", "Teacher")); } if (UserManager.IsInRole(aspNetUser.Id, "Student")) { return(RedirectToAction("Index", "Student")); } if (UserManager.IsInRole(aspNetUser.Id, "Parent")) { return(RedirectToAction("Index", "Parent")); } return(RedirectToAction("NotApprovedYet", "Home")); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = LoginViewModel.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); var originalModel = new LoginRegistrationVM(); originalModel.LoginViewModel = LoginViewModel; return(View("~/View/Home/Index.cshtml", originalModel)); } }