public async Task <RequestResult <UserResponse> > Handle(PatchUserProfileRequest request, CancellationToken cancellationToken) { try { var user = await _ctx.Users.FirstOrDefaultAsync(x => x.Id == request.Id); if (user == null) { _logger.LogError("user not found"); return(RequestResult.Error <UserResponse>()); } user.UserProfile = request.ProfileContent; await _ctx.SaveChangesAsync(); var updatedUser = await _ctx.Users.FirstOrDefaultAsync(x => x.Id == request.Id); if (updatedUser == null) { _logger.LogError("user not found after update"); return(RequestResult.Error <UserResponse>()); } var response = _mapper.Map <UserResponse>(updatedUser); return(RequestResult.Success(response)); } catch (Exception ex) { _logger.LogError("Error updating user profile user", ex); return(RequestResult.Error <UserResponse>()); } }
public async Task <IActionResult> PatchUserProfile(PatchUserProfileRequest request) { if (request == null || string.IsNullOrWhiteSpace(request.ProfileContent)) { return(BadRequest("Invalid request")); } var response = await _mediator.Send(request); if (response.IsSuccess) { return(Ok(response.Obj)); } return(BadRequest("The user's profile could not be updated")); }