Ejemplo n.º 1
0
        public async Task DislikePost(NewNegativeReactionDTO reaction)
        {
            var dislikes = _context.PostNegativeReactions.Where(x => x.UserId == reaction.UserId && x.PostId == reaction.EntityId);
            var likes    = _context.PostReactions.Where(x => x.UserId == reaction.UserId && x.PostId == reaction.EntityId);

            if (dislikes.Any())
            {
                _context.PostNegativeReactions.RemoveRange(dislikes);
                await _context.SaveChangesAsync();

                await _postHub.Clients.All.SendAsync("DislikePost", reaction.EntityId);

                return;
            }

            if (likes.Any())
            {
                _context.PostReactions.RemoveRange(likes);
                await _context.SaveChangesAsync();
            }

            _context.PostNegativeReactions.Add(new DAL.Entities.PostNegativeReaction
            {
                PostId    = reaction.EntityId,
                IsDislike = reaction.IsDislike,
                UserId    = reaction.UserId
            });

            await _context.SaveChangesAsync();

            await _postHub.Clients.All.SendAsync("DislikePost", reaction.EntityId);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> DislikeComment(NewNegativeReactionDTO reaction)
        {
            reaction.UserId = this.GetUserIdFromToken();

            await _dislikeCommentService.DislikeComment(reaction);

            return(Ok());
        }