public ActionResult CreateUser(CreateUserViewModel createUserViewModel) { if (!ModelState.IsValid) { return(View(createUserViewModel)); } try { if (createUserViewModel.Password != createUserViewModel.ConfirmPassword) { throw new MembershipCreateUserException("Passwords do not match."); } var user = _userService.Create( createUserViewModel.Username, createUserViewModel.Password, createUserViewModel.Email, createUserViewModel.PasswordQuestion, createUserViewModel.PasswordAnswer, true); if (createUserViewModel.InitialRoles != null) { var rolesToAddUserTo = createUserViewModel.InitialRoles.Where(x => x.Value).Select(x => x.Key); foreach (var role in rolesToAddUserTo) { _rolesService.AddToRole(user, role); } } return(RedirectToAction("Details", new { id = user.ProviderUserKey })); } catch (MembershipCreateUserException e) { ModelState.AddModelError(string.Empty, e.Message); return(View(createUserViewModel)); } }
public RedirectToRouteResult DeleteRole(string id) { List<MyRole> theRole = work.MyRoleRepository.Get(a => a.RoleName.Equals(id)).ToList(); string Roler = theRole[0].RoleName; List<string> usersInRole = _rolesService.FindUserNamesByRole(Roler).ToList(); if (usersInRole.Count() > 0) { foreach (string u in usersInRole) { // var user = _userService.Get(id); var user = _userService.Get(u); _rolesService.RemoveFromRole(user, Roler); _rolesService.AddToRole(user, "Default"); } } _rolesService.Delete(id); work.MyRoleRepository.Delete(theRole[0]); work.Save(); return RedirectToAction("Index"); }
public RedirectToRouteResult AddToRole(Guid id, string role) { _rolesService.AddToRole(_userService.Get(id), role); return(RedirectToAction("UsersRoles", new { id })); }