public static IQueryable <Offer> ApplyFilter(this IQueryable <Offer> offers, OffersFilter filter) { return(offers .FilterBySeller(filter.Seller) .FilterByMaxPrice(filter.MaxPrice) .FilterByMinPrice(filter.MinPrice) .FilterByCollectionIds(filter.CollectionIds)); }
public Task <PaginationResult <OfferDto> > Get(OffersFilter filter, PaginationParameter parameter) { return(_marketplaceDbContext.Offers .ApplyFilter(filter) .Where(o => o.OfferStatus == OfferStatus.Active) .OrderByDescending(o => o.CreationDate) .AsNoTrackingWithIdentityResolution() .Select(MapOfferDto()) .PaginateAsync(parameter)); }
public Task <PaginationResult <OfferDto> > Get([FromQuery] PaginationParameter paginationParameter, [FromQuery] OffersFilter filter) { return(_offerService.Get(filter, paginationParameter)); }