Exemple #1
0
        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)));
            }
        }
Exemple #2
0
        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();
        }