public bool IsLiked(LikedPostDTO likeData) { return(db.Posts .Find(likeData.PostId) .Likes .Where(like => like.UserId == likeData.UserId) .Count() != 0); }
public async Task LikeAction(int postId) { var likeData = new LikedPostDTO { PostId = postId, UserId = User.Identity.GetUserId() }; await activityService.ChangeLike(likeData); }
public async Task Like(LikedPostDTO likeData) { var like = new Like { PostId = likeData.PostId, UserId = likeData.UserId }; db.Likes.Add(like); await db.SaveChangesAsync(); }
public async Task UndoLike(LikedPostDTO likeData) { var like = db.Posts .Find(likeData.PostId) .Likes .Where(x => x.UserId == likeData.UserId) .FirstOrDefault(); db.Likes.Remove(like.Id); await db.SaveChangesAsync(); }
public async Task ChangeLike(LikedPostDTO likeData) { if (IsLiked(likeData)) { await UndoLike(likeData); } else { await Like(likeData); } }