public IHttpActionResult EditComment(int commentId, AddCommentBindingModel model) { var comment = this.Data.Comments.Find(commentId); if (comment == null) { return this.NotFound(); } if (model == null) { return this.BadRequest("Model cannot be null!"); } if (!this.ModelState.IsValid) { return this.BadRequest(this.ModelState); } var userId = this.User.Identity.GetUserId(); if (userId != comment.UserId) { return this.Unauthorized(); } comment.Content = model.Content; this.Data.SaveChanges(); var data = this.Data.Comments .Where(c => c.Id == comment.Id) .Select(CommentDataModel.Create) .FirstOrDefault(); return this.Ok(data); }
public IHttpActionResult AddCommentToPost(int postId, AddCommentBindingModel model) { var post = this.Data.Posts.Find(postId); if (post == null) { return this.NotFound(); } if (model == null) { return this.BadRequest("Model cannot be null!"); } if (!this.ModelState.IsValid) { return this.BadRequest(this.ModelState); } var userId = this.User.Identity.GetUserId(); var comment = new Comment() { Content = model.Content, PostId = post.Id, PostedOn = DateTime.Now, UserId = userId }; this.Data.Comments.Add(comment); this.Data.SaveChanges(); var data = this.Data.Comments .Where(c => c.Id == comment.Id) .Select(CommentDataModel.Create) .FirstOrDefault(); return this.Ok(data); }