public async Task <IActionResult> Update(string id, [FromBody] View.UserPatchInfo userToUpdate) { var user = UserConverter.ConvertPatchInfo(userToUpdate); var guidId = Guid.Parse(id); Guid.TryParse(HttpContext.User.Identity.Name, out var userId); if (userId != guidId) { return(BadRequest(new { message = "Запрещено для этого пользователя" })); } user.Id = guidId; try { await userService.UpdateAsync(user, userToUpdate.Password); return(Ok()); } catch (AppException ex) { return(BadRequest(new { message = ex.Message })); } }
public IActionResult Update(string id, [FromBody] View.UserPatchInfo userToUpdate) { var user = UserConverter.ConvertPatchInfo(userToUpdate); var guidId = Guid.Parse(id); user.Id = guidId; try { userService.Update(user, userToUpdate.Password); return(Ok()); } catch (AppException ex) { return(BadRequest(new { message = ex.Message })); } }
/// <summary> /// Переводит информацию для редактирования пользователя из клиентской модели в серверную /// </summary> /// <param name="viewUser">Пользователь в клиентской модели</param> /// <returns>Пользователь в серверной модели</returns> public static Model.UserPatchInfo ConvertPatchInfo(View.UserPatchInfo viewUser) { if (viewUser == null) { throw new ArgumentNullException(nameof(viewUser)); } var clientUser = new Model.UserPatchInfo() { EmailAdress = viewUser.EmailAdress, Login = viewUser.Login, Password = viewUser.Password, FirstName = viewUser.FirstName, LastName = viewUser.LastName, Id = Guid.Empty }; return(clientUser); }