public Task <PagedCollection <Post> > Execute(PagedCollectionParameters parameters) { var collectionFactory = new PagedCollectionFactory <Post>(PlaceholderLink.ToCollection(_endpoint)); return(collectionFactory.CreateFrom( _context.Posts.ProjectToType <Post>(), parameters.Offset ?? _defaultPagingParameters.Offset.Value, parameters.Limit ?? _defaultPagingParameters.Limit.Value)); }
public async Task <PagedCollection <Post> > Execute(string userId, PagedCollectionParameters parameters) { var meta = PlaceholderLink.ToCollection(_endpoint, values: new { id = userId, link = PostsController.Endpoint }); var collectionFactory = new PagedCollectionFactory <Post>(meta); var user = await _context.Users .Where(x => x.Id == userId) .SingleOrDefaultAsync(); if (user == null) { return(null); } var query = _context.Posts .Where(o => o.UserId == userId) .ProjectToType <Post>(_typeAdapterConfig); return(await collectionFactory.CreateFrom( query, parameters.Offset ?? _defaultPagingParameters.Offset.Value, parameters.Limit ?? _defaultPagingParameters.Limit.Value)); }