public ActionResult Create(ExtendedUserCustom model) { var user = new ApplicationUser { UserName = model.Email.Trim(), Email = model.Email.Trim(), FullName = model.FullName.Trim(), MonthIntake = model.MonthIntake, YearIntake = model.YearIntake }; try { var adminUserCreateResult = UserManager.Create(user, model.Password); if (adminUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); if (strNewRole != "0") { //put user in role UserManager.AddToRole(user.Id, strNewRole); } return(Redirect("~/Admin").WithSuccess("User created successfully!")); } else { ViewBag.Roles = GetAllRolesAsSelectList(); //ModelState.AddModelError(string.Empty, @"Error: Failed to create user. Check Role constraints."); return(View(model).WithError("Failed to create user. Check role contrainsts.")); } } catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, @"Error: " + ex.Message); return(View(model)); } }
public ActionResult Create() { var objUserExtended = new ExtendedUserCustom(); ViewBag.Roles = GetAllRolesAsSelectList(); return(View(objUserExtended)); }
public ActionResult DeleteRole(string roleName) { string userName = Request.QueryString["Email"].ToString(); try { if ((userName == null) || (roleName == null)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } userName = userName.ToLower(); // Check that we have an actual user ExtendedUserCustom objExpandedUser = GetUser(userName); if (objExpandedUser == null) { return(HttpNotFound()); } if (userName.ToLower() == this.User.Identity.Name.ToLower() && roleName == "Administrator") { ModelState.AddModelError(string.Empty, "Error: Cannot delete Administrator Role for the current user"); } // Go get the User ApplicationUser user = UserManager.FindByName(userName); // Remove User from role UserManager.RemoveFromRoles(user.Id, roleName); UserManager.Update(user); ViewBag.AddRole = new SelectList(RolesUserIsNotIn(userName)); var objUserAndRoles = GetUserAndRoles(user.Email); return(RedirectToAction("EditRoles", objUserAndRoles).WithSuccess("Role deleted successfully!")); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex); ViewBag.AddRole = new SelectList(RolesUserIsNotIn(userName)); var objUserAndRolesDTO = GetUserAndRoles(userName); return(View("EditRoles", objUserAndRolesDTO)); } }
private void DeleteUser(ExtendedUserCustom extUser) { var user = UserManager.FindByEmail(extUser.Email); //not found? if (user == null) { throw new Exception("User not found."); } UserManager.RemoveFromRoles(user.Id, UserManager.GetRoles(user.Id).ToArray()); UserManager.Update(user); UserManager.Delete(user); }
public ActionResult ListStudents() { Session["email"] = null; var colUsers = new List <ExtendedUserCustom>(); //filter user with tutor's assigned group only var tutorId = User.Identity.GetUserId(); List <byte> tutorGroups; if (User.IsInRole("Administrator")) { //display all students tutorGroups = _context.GroupTutorModels.Select(m => m.GroupId).ToList(); } else { //display by group/tutor relation tutorGroups = _context.GroupTutorModels.Where(m => m.TutorId == tutorId).Select(m => m.GroupId).ToList(); } var users = UserManager.Users.ToList(); foreach (var item in users) { if (tutorGroups.Count == 0 || tutorGroups.Contains(item.GroupId)) { var user = new ExtendedUserCustom { Email = item.Email, FullName = item.FullName, GroupId = item.GroupId, MonthIntake = item.MonthIntake, YearIntake = item.YearIntake, ProgressValue = item.OverallProgress }; colUsers.Add(user); } } //get group list for dropdownlist ViewBag.Groups = _context.GroupModels.Where(m => m.IsRemoved == false) .OrderByDescending(m => m.CreatedDateTime).ToList(); return(View(colUsers)); }
private ExtendedUserCustom UpdateUser(ExtendedUserCustom extUser) { var result = UserManager.FindByEmail(extUser.Email); //not found if (result == null) { throw new Exception("User not found."); } result.Email = extUser.Email.Trim(); result.FullName = extUser.FullName.Trim(); result.GroupId = extUser.GroupId; result.MonthIntake = extUser.MonthIntake; result.YearIntake = extUser.YearIntake; //is account locked? unlock it if (UserManager.IsLockedOut(result.Id)) { UserManager.ResetAccessFailedCount(result.Id); } UserManager.Update(result); //was a password sent across? if (!string.IsNullOrEmpty(extUser.Password)) { //remove current password var removePassword = UserManager.RemovePassword(result.Id); if (removePassword.Succeeded) { //add new password var AddPassword = UserManager.AddPassword( result.Id, extUser.Password ); if (AddPassword.Errors.Count() > 0) { throw new Exception(AddPassword.Errors.FirstOrDefault()); } } } return(extUser); }
private ExtendedUserCustom GetUser(string email) { var objExtUser = new ExtendedUserCustom(); var result = UserManager.FindByEmail(email); //not found throw exception if (result == null) { throw new Exception("User not found."); } objExtUser.Email = result.Email; objExtUser.FullName = result.FullName; objExtUser.GroupId = result.GroupId; objExtUser.MonthIntake = result.MonthIntake; objExtUser.YearIntake = result.YearIntake; return(objExtUser); }
public ActionResult EditUser(ExtendedUserCustom extUser) { try { if (extUser == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var objExtendedUser = UpdateUser(extUser); if (objExtendedUser == null) { return(HttpNotFound()); } return(Redirect("~/Admin").WithSuccess("User updated successfully!")); } catch (Exception ex) { ModelState.AddModelError(string.Empty, @"Error: " + ex.Message); return(View("EditUser", GetUser(extUser.Email))); } }
public ActionResult Index(string searchKeyword, string currentFilter, int?page) { Session["email"] = null; try { var colUsers = new List <ExtendedUserCustom>(); var result = UserManager.Users .OrderBy(c => c.FullName) .ToList(); foreach (var item in result) { var user = new ExtendedUserCustom { Email = item.Email, FullName = item.FullName, GroupId = item.GroupId, MonthIntake = item.MonthIntake, YearIntake = item.YearIntake }; colUsers.Add(user); } //get group list for dropdown ViewBag.Groups = _context.GroupModels.Where(m => m.IsRemoved == false) .OrderByDescending(m => m.CreatedDateTime).ToList(); return(View(colUsers)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex.Message); var colUserExtendeds = new List <ExtendedUserCustom>(); return(View(colUserExtendeds)); } }