public async Task <ActionResult> Login(LoginModel objLogin, string returnUrl) { if (ModelState.IsValid) { //account - loginmodel ApplicationUser oUser = await SignInManager.UserManager.FindByNameAsync(objLogin.Email); if (oUser != null && oUser.Password == objLogin.Password) { switch (oUser.Status) { case EnumAccountStatus.Pending: ModelState.AddModelError("", "Error: User account has not been verified."); break; case EnumAccountStatus.Active: SignInManager.SignIn(oUser, false, false); IList <string> roleList = AccountRoleController.GetUserRoles(oUser.Id); foreach (string role in roleList) { UserManager.AddToRole(oUser.Id, role); } //if no return url provided then redirect page based on role if (string.IsNullOrEmpty(returnUrl)) { if (roleList.IndexOf("Administrator") >= 0) { return(RedirectToAction("Index", "Admin")); } else { return(RedirectToAction("Index", "student")); } } return(RedirectToLocal(returnUrl)); case EnumAccountStatus.Banned: ModelState.AddModelError("", "Error: User account has been banned."); break; case EnumAccountStatus.LockedOut: ModelState.AddModelError("", "Error: User account has been locked out due to multiple login tries."); break; } } else { ModelState.AddModelError("", "Error: Invalid login details."); } } return(View(objLogin)); }
public ActionResult ViewStudents() { ViewBag.Message = "Student List"; //list of datalibrary model var data = AccountRoleController.GetAccountByRole(2); //ui model List <StudentModel> students = new List <StudentModel>(); //convert datalibrary model to ui model foreach (var row in data) { students.Add(new StudentModel { UserName = row.UserName, Email = row.Email }); } return(View(students)); }