Ejemplo n.º 1
0
        public async Task <IActionResult> Post(CommentApiModel apiModel)
        {
            try {
                var email = User.FindFirst(ct => ct.Type.Contains("nameidentifier")).Value;
                var user  = await _userRepo.GetUserByEmailAsync(email);

                apiModel.User = ApiModelConverter.ToUserApiModel(user);

                Comment comment = ApiModelConverter.ToComment(_commentRepo, _userRepo, _postRepo, apiModel);

                int result = await _commentRepo.CreateAsync(comment);

                if (result != -1)
                {
                    return(Ok());
                }
                else
                {
                    throw new ArgumentException("Could not create comment");
                }
            } catch (ArgumentException ex) {
                return(BadRequest(ex.Message));
            } catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }