Exemplo n.º 1
0
        /// <summary>
        /// return 該 user 對該篇文章的或留言的按讚情況
        /// </summary>
        /// <param name="dto"></param>
        public UserLikeHistoryDto GetUserLikeHistory(BaseLikeEntity dto)
        {
            var userHistory = _history.GetFirst(x => x.UserId == dto.UserId && (x.PostId == dto.Id || x.MessageId == dto.Id));

            if (userHistory != null)
            {
                return(new UserLikeHistoryDto()
                {
                    UserId = (Guid)userHistory.UserId,
                    IsDisLike = (bool)userHistory.IsDisLike,
                    IsLike = (bool)userHistory.IsLike,
                    //message or post id
                    // PostId = userHistory.PostId,
                    // MessageId = userHistory.MessageId
                });
            }

            else
            {
                return(new UserLikeHistoryDto()
                {
                });
            }
            //return Dtu{dto.history = userhistory}
        }
        public ApiResult <UserLikeHistoryDto> GetUserLikeHistory([FromBody] BaseLikeEntity dto)
        {
            var result = new ApiResult <UserLikeHistoryDto>();

            if (ModelState.IsValid)
            {
                //  var service = new LikeService();

                result.Data = _plikeService.GetUserLikeHistory(dto);
                return(result);
            }
            else
            {
                return(new ApiResult <UserLikeHistoryDto>("Dto"));
            }
        }
Exemplo n.º 3
0
        public async Task GiveLike(User user, TModel postBase, bool isLike)
        {
            var existingEntity = await _context.Set <BaseLikeEntity <TEntity> >()
                                 .FirstOrDefaultAsync(x => x.UserId == user.Id && x.EntityId == postBase.Id);

            if (existingEntity == null)
            {
                var newEntity = new BaseLikeEntity <TEntity>()
                {
                    IsLike   = isLike,
                    EntityId = postBase.Id,
                    UserId   = user.Id
                };
                await _context.Set <BaseLikeEntity <TEntity> >()
                .AddAsync(newEntity);
            }
            else
            {
                existingEntity.IsLike = isLike;
            }

            await _context.SaveChangesAsync();
        }