public async Task <IHttpActionResult> UpdateSocialLinks(Guid id, UpdateSocialLinksRequestDto updatedSocialLinks) { var validator = new UpdateSocialLinksRequestDtoValidator(); var results = await validator.ValidateAsync(updatedSocialLinks); var detailedError = new StringBuilder(); foreach (var error in results.Errors.Select(e => e.ErrorMessage)) { detailedError.Append(error + "; "); } if (!results.IsValid) { return(BadRequest(detailedError.ToString())); // TODO: Think of returning the errors in a better way } try { this._userService.UpdateSocialLinksForUser(id, updatedSocialLinks); return(Created($"api/v1/users/{id}/SocialLinks", "Success")); } catch (Exception ex) { var errorMessage = _apiLogger.OnActionException(ActionContext, ex); return(InternalServerError(new HttpException(errorMessage))); } }
public void UpdateSocialLinksForUser(Guid userId, UpdateSocialLinksRequestDto updatedSocialLinks) { var user = this._unitOfWork.UserRepository.GetUserById(userId); user.FacebookUsername = updatedSocialLinks.FacebookUsername; user.InstagramUsername = updatedSocialLinks.InstagramUsername; user.TwitterUsername = updatedSocialLinks.TwitterUsername; this._unitOfWork.Save(); }