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); }
public async Task <IActionResult> DislikeComment(NewNegativeReactionDTO reaction) { reaction.UserId = this.GetUserIdFromToken(); await _dislikeCommentService.DislikeComment(reaction); return(Ok()); }