public IHttpActionResult Post(int id) { var article = this.data.Articles.Find(id); if (article == null) { return BadRequest("Article with such id does not exist!"); } var userID = this.User.Identity.GetUserId(); var like = this.data.Likes.All().FirstOrDefault(x => x.ArticleId == id && x.AuthorId == userID); if (like != null) { return BadRequest("This user has already liked this article!"); } like = new Like { ArticleId = article.Id, AuthorId = userID, }; this.data.Likes.Add(like); this.data.SaveChanges(); return Ok(); }
public IHttpActionResult LikeArticle(int id) { var article = this.data.Articles.Find(id); if (article==null) { return this.BadRequest("No such article exists!"); } if (article.Likes.Any(x=>x.AuthorId==User.Identity.GetUserId())) { return this.BadRequest("That user already liked that!"); } var like = new Like() { AuthorId = User.Identity.GetUserId() }; article.Likes.Add(like); this.data.SaveChanges(); var model = new LikeModel(like); return this.Ok(model); }
public LikeModel(Like like) { this.Article = like.Article.Title; this.Author = like.AuthorId; this.Id = like.Id; }