Ejemplo n.º 1
0
        public async Task <bool> DisLikePost(int userId, int id, CancellationToken cancellationToken)
        {
            var result = await TableNoTracking
                         .SingleAsync(a => !a.VersionStatus.Equals(2) && a.UserId.Equals(userId) && a.PostId.Equals(id), cancellationToken);

            await DeleteAsync(result, cancellationToken);

            return(true);
        }
Ejemplo n.º 2
0
        public async Task <ApiResult <List <PostDto> > > GetPostsInTag(string tag, CancellationToken cancellationToken)
        {
            Assert.NotNullArgument(tag, "آی دی پست اشتباه است");

            var getTag = await TableNoTracking
                         .SingleAsync(a => a.Name.Equals(tag), cancellationToken);

            var postTags = await _repositoryPostTag.TableNoTracking
                           .Where(a => !a.VersionStatus.Equals(2) && a.TagId.Equals(getTag.Id))
                           .Select(a => a.PostId)
                           .ToListAsync(cancellationToken);

            var list = await _repositoryPost.TableNoTracking
                       .Where(a => !a.VersionStatus.Equals(2))
                       .Where(a => postTags.Contains(a.Id))
                       .ProjectTo <PostDto>(Mapper.ConfigurationProvider)
                       .ToListAsync(cancellationToken);

            return(list);
        }