public ActionResult CreateUser() { MembershipEditViewModel userVM = new MembershipEditViewModel(); userVM.Roles = _membershipService.GetAllRoles(); return(View(userVM)); }
public ActionResult Create(MembershipEditViewModel u) { if (ModelState.IsValid) { try { MembershipCreateStatus mStatus; var userName = u.UserName; var newUser = Membership.CreateUser( userName, u.Password, u.Email, null, null, u.IsApproved, out mStatus ); if (mStatus == MembershipCreateStatus.Success && newUser != null) { if (newUser.Comment != u.Comment) { newUser.Comment = u.Comment; Provider.UpdateUser(newUser); } HandleRoles(u); AddFlashMessage(string.Format("User '{0}' successfully created", userName), FlashMessageType.Success); return(RedirectToAction("Edit", new { id = newUser.ProviderUserKey })); } var status = GetMembershipCreateStatusMessage(mStatus); AddFlashMessage( string.Format("An error occurred during user creation : {0}", status), FlashMessageType.Error ); } catch (Exception ex) { Logger.ErrorException("An error occurred", ex); AddFlashMessage("An error occurred during user creation", FlashMessageType.Error); } } else { DebugModelStateErrors(); AddFlashMessage("Unable to create user with provided values, please correct errors", FlashMessageType.Warning); } u.Roles = u.Roles ?? new string[] { }; return(View(u)); }
public ActionResult CreateUser(MembershipEditViewModel membershipEditViewModel) { if (ModelState.IsValid) { if (membershipEditViewModel.Password.Length > 5) { if (membershipEditViewModel.Password != membershipEditViewModel.PasswordAgain) { ModelState.AddModelError("PasswordAgain", "passwords must equal!"); membershipEditViewModel.Roles = _membershipService.GetAllRoles(); return(View(membershipEditViewModel)); } } else { ModelState.AddModelError("Password", "password length least 6 digit!"); membershipEditViewModel.Roles = _membershipService.GetAllRoles(); return(View(membershipEditViewModel)); } if (membershipEditViewModel.Password != membershipEditViewModel.PasswordAgain) { ModelState.AddModelError("PasswordAgain", "passwords must equal!"); membershipEditViewModel.Roles = _membershipService.GetAllRoles(); return(View(membershipEditViewModel)); } if (_membershipService.GetUserByName(membershipEditViewModel.UserName) != null) { ModelState.AddModelError(string.Empty, "Username already exists."); return(View(membershipEditViewModel)); } if (_membershipService.GetUserByEmail(membershipEditViewModel.Email) != null) { ModelState.AddModelError(string.Empty, "Email already exists."); return(View(membershipEditViewModel)); } _membershipService.AddUser(new MyLittleCMS.Core.Domain.Entities.MembershipUser { Email = membershipEditViewModel.Email, IsApproved = true, IsDeleted = false, PasswordHashed = Utilies.Helper.GetHashedString(membershipEditViewModel.Password), UserName = membershipEditViewModel.UserName, MembershipUserRoleId = membershipEditViewModel.UserRole.Value }); return(RedirectToAction("Index")); } membershipEditViewModel.Roles = _membershipService.GetAllRoles(); return(View(membershipEditViewModel)); }
public ActionResult Edit(MembershipEditViewModel u) { var username = u.UserName; var mem = Membership.GetUser(username); if (mem == null) { return(HttpNotFound(string.Format("User : {0} not found", username))); } try { if (!string.IsNullOrWhiteSpace(u.Password) && u.Password == u.PasswordConfirmation) { mem.ChangePassword(mem.ResetPassword(), u.Password); } if (mem.Comment != u.Comment) { mem.Comment = u.Comment; Provider.UpdateUser(mem); } HandleRoles(u); AddFlashMessage("User successfully modified", FlashMessageType.Success); return(RedirectToAction("Index")); } catch (Exception ex) { AddFlashMessage("An error occurred during user modification", FlashMessageType.Error); Logger.ErrorException("An error occurred", ex); } u.ForEdit = true; return(View(u)); }
/// <summary> /// When roles are enabled adds/removes roles /// </summary> /// <param name="u"><see cref="MembershipEditViewModel"/> to get the roles from</param> protected static void HandleRoles([NotNull] MembershipEditViewModel u) { if (u == null) { throw new ArgumentNullException("u"); } if (!Roles.Enabled) { return; } var rolesForUser = Roles.GetRolesForUser(u.UserName); if (rolesForUser != null && rolesForUser.Length > 0) { Roles.RemoveUserFromRoles(u.UserName, rolesForUser); } if (u.Roles != null && u.Roles.Any()) { Roles.AddUserToRoles(u.UserName, u.Roles.ToArray()); } }