Example #1
0
        public async Task <ActionResult> RemoveCommentLike(ulong id)
        {
            User user = await _userManager.GetUserAsync(User);

            if (user != null)
            {
                ForumCommentLike like = _context.ForumCommentLikes.FirstOrDefault(l => l.UserID == user.Id && l.CommentID == id);

                if (like != null)
                {
                    // There is a like, so we will remove it
                    _context.ForumCommentLikes.Remove(like);
                    await _context.SaveChangesAsync();

                    User author = await _userManager.FindByIdAsync(like.GivenTo);

                    author.comment_likes -= 1;

                    await _userManager.UpdateAsync(author);

                    return(Json("Success"));
                }
                else
                {
                    // No like exists
                    return(Json("Failure"));
                }
            }
            else
            {
                // There is no user (?)
                return(Json("Failure"));
            }
        }
Example #2
0
        public async Task <ActionResult> AddCommentLike(ulong id)
        {
            User user = await _userManager.GetUserAsync(User);

            ForumComment comment = _context.ForumComments.FirstOrDefault(c => c.CommentID == id);

            if (comment == null)
            {
                return(Json("Comment not found!"));
            }

            if (user != null)
            {
                if (_context.ForumCommentLikes.Any(l => l.UserID == user.Id && l.CommentID == id))
                {
                    // Cancel because there is already a like
                    return(Json("Failure"));
                }
                else
                {
                    string likeid = $"{id}-{user.Id}";

                    // Success
                    ForumCommentLike like = new ForumCommentLike()
                    {
                        UserID    = user.Id,
                        LikeID    = likeid,
                        CommentID = id,
                        GivenTo   = comment.UserID
                    };

                    _context.ForumCommentLikes.Add(like);

                    await _context.SaveChangesAsync();

                    User author = await _userManager.FindByIdAsync(like.GivenTo);

                    author.comment_likes += 1;

                    await _userManager.UpdateAsync(author);

                    return(Json("Success"));
                }
            }
            else
            {
                // There is no user (?)
                return(Json("Failure"));
            }
        }