Exemple #1
0
 public static Reply ToModel(this ReplyVModel r)
 {
     return(new Reply {
         Id = r.Id,
         Content = r.Content
     });
 }
Exemple #2
0
        public async Task <IActionResult> Create(int commentId, [FromBody] ReplyVModel reply)
        {
            var newReply = reply.ToModel();

            newReply.CommentId = commentId;
            newReply.UserId    = UserId;
            newReply           = _replies.Create(newReply, UserId);
            await _replies.SaveAsync();

            _logger.LogInformation($"User: {UserId} created a new reply {newReply}");
            return(Created(Request.Path.Value, newReply.ToVModel()));
        }
Exemple #3
0
        public async Task <IActionResult> Update(int commentId, [FromBody] ReplyVModel reply)
        {
            var oldReply = await _replies.GetByIdAsync(reply.Id);

            if (oldReply.UserId != UserId)
            {
                throw new UnauthorizedAccessException(userMismatchMessage);
            }
            if (oldReply.CommentId != commentId)
            {
                throw new AccessViolationException(resourceMismatchMessage);
            }

            oldReply.Content = reply.Content;
            oldReply         = _replies.Update(oldReply, UserId);
            await _replies.SaveAsync();

            _logger.LogInformation($"User: {UserId} modified a his reply {oldReply}");
            return(Ok(oldReply.ToVModel()));
        }