private IEnumerable <TrainerRate> Filter(RateFilterData filterData, IEnumerable <TrainerRate> rates) { rates = rates.Where(rate => ApplyTrainerRateFilters(filterData) .IsSatisfiedBy(rate)) .ToList(); return(rates); }
public async Task <PagedClubRatesDTO> GetAllClubRates( int pageNumber, int pageSize, int clubId, string sortData, RateFilterData filterData) { var rates = await _rateRepository.GetClubRates(clubId); var result = GetClubRates(pageNumber, pageSize, rates, sortData, filterData); return(result); }
public async Task <ActionResult <PagedClubRatesDTO> > GetClubRates( [FromQuery] RateFilterData filterData, [FromQuery] int clubId, [FromQuery] int pageNumber = 1, [FromQuery] int pageSize = 3, [FromQuery] string sortData = DictionaryResources.RateDesc) { try { return(Ok(await _rateService.GetAllClubRates(pageNumber, pageSize, clubId, sortData, filterData))); } catch (Exception exception) { return(BadRequest(exception.Message)); } }
private ISpecification <TrainerRate> ApplyTrainerRateFilters(RateFilterData filterData) { return(new TrainerRateMatchesRate(filterData.Rate)); }
private ISpecification <ClubRate> ApplyClubRateFilters(RateFilterData filterData) { return(new ClubRateMatchesRate(filterData.Rate)); }
private PagedTrainerRatesDTO GetTrainerRates( int pageNumber, int pageSize, IEnumerable <TrainerRate> rates, string sortData, RateFilterData filterData) { rates = Sort(sortData, rates); rates = Filter(filterData, rates); var result = GetPagedTrainerRates(rates, pageNumber, pageSize); return(result); }