コード例 #1
0
 public bool IsLiked(LikedPostDTO likeData)
 {
     return(db.Posts
            .Find(likeData.PostId)
            .Likes
            .Where(like => like.UserId == likeData.UserId)
            .Count() != 0);
 }
コード例 #2
0
        public async Task LikeAction(int postId)
        {
            var likeData = new LikedPostDTO {
                PostId = postId,
                UserId = User.Identity.GetUserId()
            };

            await activityService.ChangeLike(likeData);
        }
コード例 #3
0
        public async Task Like(LikedPostDTO likeData)
        {
            var like = new Like {
                PostId = likeData.PostId,
                UserId = likeData.UserId
            };

            db.Likes.Add(like);
            await db.SaveChangesAsync();
        }
コード例 #4
0
        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();
        }
コード例 #5
0
 public async Task ChangeLike(LikedPostDTO likeData)
 {
     if (IsLiked(likeData))
     {
         await UndoLike(likeData);
     }
     else
     {
         await Like(likeData);
     }
 }