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)));
        }
Esempio n. 2
0
        public async Task <IActionResult> GetDeals([FromQuery] GeneralPaginationQuery paginationQuery)
        {
            var query = new GetDealsQuery(paginationQuery);

            return(await HandleQueryResultFor(query));
        }