Пример #1
0
        public async Task <List <Post> > GetPostsAsync(GetAllPostFilter filter = null, PaginationFilter paginationFilter = null)
        {
            var posts = await _cosmosStore.Query().ToListAsync();

            return(posts.Select(p => new Post {
                Id = Guid.Parse(p.Id), Name = p.Name
            }).ToList());
        }
Пример #2
0
 private static IQueryable <Post> AddFilterOnQuery(GetAllPostFilter filter, IQueryable <Post> queryable)
 {
     if (!string.IsNullOrEmpty(filter?.UserId))
     {
         queryable = queryable.Where(x => x.UserId == filter.UserId);
     }
     return(queryable);
 }
Пример #3
0
        public async Task <List <Post> > GetPostsAsync(GetAllPostFilter filter = null, PaginationFilter paginationFilter = null)
        {
            var queryable = _dataContext.Posts.AsQueryable();

            if (paginationFilter == null)
            {
                return(await queryable.Include(t => t.Tags).ToListAsync());
            }

            queryable = AddFilterOnQuery(filter, queryable);

            var skip = (paginationFilter.PageNumber - 1) * paginationFilter.PageSize;

            return(await queryable.Include(t => t.Tags)
                   .Skip(skip)
                   .Take(paginationFilter.PageSize)
                   .ToListAsync());
        }