Exemplo n.º 1
0
        public ActionResult LikeCondition(long?NoteId, bool?isLiked)
        {
            User user = Session["isLogin"] as User;

            if (NoteId != null && isLiked == null && user != null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }


            if ((bool)isLiked)//it is already liked by current user, wants make it unlike
            {
                Like like = _likeService.GetAllLikes(x => x.UserId == user.UserId && x.NoteId == NoteId).FirstOrDefault();

                if (like == null)
                {
                    return(HttpNotFound());
                }
                _likeService.DeleteLikeById(like.LikeId);
            }
            else//new like by current user
            {
                _likeService.AddLike(new Like {
                    UserId = user.UserId,
                    NoteId = (long)NoteId
                });
            }

            var data = new
            {
                NoteId = NoteId,
                Count  = _likeService.GetAllLikes(x => x.NoteId == NoteId).Count()
            };

            return(Json(data));
        }