public async Task <ApiResult> EditUser([FromBody] UserInputEdit userInput) { var result = new ApiResult(); if (!ModelState.IsValid) { result.Code = 400; result.Message = "编辑用户失败:" + ModelState.FirstErrorMessage(); return(result); } if (!userInput.UserId.HasValue) { result.Code = 400; result.Message = "编辑用户失败:必须提供参数 GroupId"; return(result); } if (await _userService.SaveAsync(userInput, ModelState) == null) { result.Code = 400; result.Message = "编辑用户失败:" + ModelState.FirstErrorMessage(); return(result); } result.Code = 200; result.Message = "编辑用户成功"; return(result); }
public object ItemSaveEdit(User user, UserInputEdit userInput) { //TODO: (erikpo) Check permissions ModelResult <User> results = userService.EditUser(user, userInput); if (!results.IsValid) { ModelState.AddModelErrors(results.ValidationState); return(ItemEdit(user)); } return(Redirect(Url.AppPath(Url.ManageUsers()))); }
public async Task <ApiResult> EditUser(UserInputEdit userInput) { var result = new ApiResult(); if (await _userService.SaveAsync(userInput, ModelState) == null) { result.Code = 400; result.Message = "编辑用户失败:" + ModelState.FirstErrorMessage(); return(result); } result.Code = 200; result.Message = "编辑用户成功"; return(result); }
public ModelResult <UserAuthenticated> EditUser(UserAddress userAddress, UserInputEdit userInputEdit) { ValidationStateDictionary validationState = new ValidationStateDictionary(); validationState.Add(typeof(UserInputEdit), validator.Validate(userInputEdit)); if (!validationState.IsValid) { return(new ModelResult <UserAuthenticated>(validationState)); } Guid siteID = context.Site.ID; UserAuthenticated originalUser; UserAuthenticated newUser; using (TransactionScope transaction = new TransactionScope()) { originalUser = repository.GetUser(siteID, userAddress.UserName); newUser = originalUser.Apply(userInputEdit, e => e.ComputeEmailHash(), EntityState.Normal); validateUser(newUser, originalUser, validationState); if (!validationState.IsValid) { return(new ModelResult <UserAuthenticated>(validationState)); } newUser = repository.Save(newUser, siteID); invalidateCachedUserForEdit(newUser, originalUser); transaction.Complete(); } pluginEngine.ExecuteAll("UserSaved", new { context, user = new UserReadOnly(newUser) }); pluginEngine.ExecuteAll("UserEdited", new { context, user = new UserReadOnly(newUser), userOriginal = new UserReadOnly(originalUser) }); return(new ModelResult <UserAuthenticated>(newUser, validationState)); }
public void EditUser(User user, UserInputEdit userInput, out ValidationStateDictionary validationState) { throw new NotImplementedException(); }
public static User Apply(this User user, UserInputEdit input, Func <string, string> computeEmailHash, EntityState status) { return(new User(user.ID, input.UserName, input.DisplayName, input.Email, computeEmailHash(input.Email), user.LanguageDefault, status)); }