Exemple #1
0
        public async Task <bool> HasLike([FromQuery] LikeDislikeInput input)
        {
            var userId = _jwtReader.GetUserId();

            return(await _likeRepository
                   .Where(d => d.UserId == userId)
                   .Where(d => d.ObjectTypeEnum == input.ObjectTypeEnum)
                   .Where(d => d.ObjectId == input.ObjectId)
                   .AnyAsync());
        }
Exemple #2
0
        public async Task <HasLikeOrDislikeOutputEnum> HasLikeOrDislike([FromQuery] LikeDislikeInput input)
        {
            var hasDislike = await HasDislike(input);

            var hasLike = await HasLike(input);

            if (!hasLike && !hasDislike)
            {
                return(HasLikeOrDislikeOutputEnum.None);
            }
            return(hasLike
                ? HasLikeOrDislikeOutputEnum.OnlyLike
                : HasLikeOrDislikeOutputEnum.OnlyDislike);
        }
Exemple #3
0
        public async Task RemoveLike(LikeDislikeInput input)
        {
            var userId   = _jwtReader.GetUserId();
            var likeItem = await _likeRepository
                           .Where(d => d.UserId == userId)
                           .Where(d => d.ObjectTypeEnum == input.ObjectTypeEnum)
                           .Where(d => d.ObjectId == input.ObjectId)
                           .FirstOrDefaultAsync();

            if (likeItem != null)
            {
                _likeRepository.Remove(likeItem);
                await _context.SaveChangesAsync();
            }
        }
Exemple #4
0
        public async Task Dislike([FromBody] LikeDislikeInput input)
        {
            var hasDislike = await HasDislike(input);

            if (hasDislike)
            {
                return;
            }
            var hasLike = await HasLike(input);

            if (hasLike)
            {
                await RemoveLike(input);
            }

            await _dislikeRepository.AddAsync(new EditorInteractionDislike
            {
                UserId         = _jwtReader.GetUserId(),
                ObjectId       = input.ObjectId,
                ObjectTypeEnum = input.ObjectTypeEnum
            });

            await _context.SaveChangesAsync();
        }