/// <summary> /// Saves modified user data into the ASP Net Identity database /// </summary> public void UpdateUser(string userId, string firstName, string lastName, string userName, string email, string password, RoleType role) { var user = UserManager.FindByIdAsync(userId).Result; if (user == null) { throw new EntityNotFoundException(CallContext.ResourceUri, typeof(AspNetIdentityUser), new[] { userId }, LogLevel.Error); } var anotherUser = UserManager.FindByNameAsync(userName).Result; if (anotherUser != null && string.Compare(anotherUser.Id, userId, true) != 0) { throw new ValidationException(Resources.Resources.Register_EmailAlreadyExists, false); } user.FirstName = firstName; user.LastName = lastName; user.Email = email; user.UserName = userName; Call(UserManager.UpdateAsync(user)); // Password if (!string.IsNullOrEmpty(password)) { Call(UserManager.RemovePasswordAsync(user)); Call(UserManager.AddPasswordAsync(user, password)); } // Roles var roles = UserManager.GetRolesAsync(user).Result; if (!roles.SequenceEqual(new[] { role.Name() })) { Call(UserManager.RemoveFromRolesAsync(user, roles.ToArray())); Call(UserManager.AddToRoleAsync(user, role.Name())); } AspNetIdentityDbContext.SaveChanges(); }
/// <summary> /// Saves modified user data into the ASP Net Identity database /// </summary> public void AddUser(string firstName, string lastName, string userName, string email, string password, RoleType role) { var anotherUser = UserManager.FindByNameAsync(userName).Result; // Add if (anotherUser != null) { throw new Exceptions.Validation.ValidationException(Resources.Resources.Register_EmailAlreadyExists, false); } var user = new AspNetIdentityUser() { FirstName = firstName, LastName = lastName, Email = email, UserName = userName }; Call(UserManager.CreateAsync(user, password)); Call(UserManager.AddToRoleAsync(user, role.Name())); AspNetIdentityDbContext.SaveChanges(); }