Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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));
     }
 }