public List <ArticleView> PostLike(LikeView minilike) { int articleid = minilike.ArticleId; Like olike = new Like { ArticleId = articleid, Creation = DateTime.UtcNow.AddHours(-5), UserCode = "XYZ" }; _context.Likes.Add(olike); _context.SaveChanges(); List <ArticleView> listado = new List <ArticleView>(); listado = (from a in _context.Articles join tl in ( from l in _context.Likes group l by l.ArticleId into grouped select new { Id = grouped.Key, Conteo = grouped.Count() } ) on a.Id equals tl.Id into sr1 from z in sr1.DefaultIfEmpty() select new ArticleView { Id = a.Id, Content = a.Content, Creation = a.Creation, NumberLikes = z.Conteo } ).ToList(); return(listado); }
public HttpResponseMessage PostLikes(Guid id) { try { var likes = likeRepository.PostLikes(id); LikeView likeview = new LikeView(); LikeJsonView Likes = new LikeJsonView(); Likes.likes = new List <LikeView>(); Likes.likes = Mapper.Map <List <Like>, List <LikeView> >(likes.ToList()); return(Request.CreateResponse(HttpStatusCode.OK, Likes)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage AddLike([FromBody] Like like) { try { var post = postRepository.GetPostByID(like.postid); if (post != null && post.userid != like.userid && userRepository.GetUserById(like.userid) != null) { likeRepository.InsertLike(like); likeRepository.Save(); LikeView likeview = new LikeView(); likeview = Mapper.Map <Like, LikeView>(like); return(Request.CreateResponse(HttpStatusCode.OK, likeview)); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Wrong Entered Format")); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }