public async Task <Result <IPagedList <DealMinimalDto> > > Handle(GetDealsQuery request, CancellationToken cancellationToken) { var items = await _collection.DealCollection.Find(Filters.EmptyFilter <DealDocument>()) .SortByDescending(x => x.EndDate) .Skip(PaginationHelper.Skip(request.PageNumber, request.PageSize)) .Limit(request.PageSize) .Project(Projections.MinimalDealProjection()) .ToListAsync(cancellationToken); return(Result.Ok(items.ToPagedList(request.PageNumber, request.PageSize))); }
public async Task <IActionResult> GetDeals([FromQuery] GeneralPaginationQuery paginationQuery) { var query = new GetDealsQuery(paginationQuery); return(await HandleQueryResultFor(query)); }