Beispiel #1
0
        public async Task <Result <IPagedList <RestaurantMinimalDto> > > Handle(GetRestaurantsQuery request,
                                                                                CancellationToken cancellationToken)
        {
            var restaurants = await _collection.RestaurantsCollection.Find(Filters.EmptyFilter <RestaurantDocument>())
                              .SortByDescending(RestaurantDocument.GetOrderBy(request.OrderBy))
                              .Skip(PaginationHelper.Skip(request.PageNumber, request.PageSize))
                              .Limit(request.PageSize)
                              .Project(Projections.MinimalRestaurantProjection())
                              .ToListAsync(cancellationToken);

            return(Result.Ok(restaurants.ToPagedList(request.PageNumber, request.PageSize)));
        }