private IEnumerable <TrainerCard> Filter(CardFilterData filterData, IEnumerable <TrainerCard> cards) { cards = cards.Where(card => ApplyTrainerCardFilters(filterData) .IsSatisfiedBy(card)) .ToList(); return(cards); }
private PagedClubCardsDTO GetClubCards( int pageNumber, int pageSize, IEnumerable <ClubCard> cards, CardFilterData filterData) { IEnumerable <ClubCard> clubCards = cards.OrderByDescending(u => u.PurchaseDate); clubCards = Filter(filterData, clubCards); var result = GetPagedClubCards(clubCards, pageNumber, pageSize); return(result); }
private PagedTrainerCardsDTO GetTrainerCards( int pageNumber, int pageSize, IEnumerable <TrainerCard> cards, CardFilterData filterData) { IEnumerable <TrainerCard> trainerCards = cards.OrderByDescending(u => u.PurchaseDate); trainerCards = Filter(filterData, trainerCards); var result = GetPagedTrainerCards(trainerCards, pageNumber, pageSize); return(result); }
public async Task <PagedClubCardsDTO> GetClubClubCards( int pageNumber, int pageSize, int clubId, CardFilterData filterData) { var cards = await _cardRepository.GetClubClubCards(clubId); var result = GetClubCards(pageNumber, pageSize, cards, filterData); return(result); }
public async Task <PagedTrainerCardsDTO> GetTrainerTrainerCards( int pageNumber, int pageSize, int trainerId, CardFilterData filterData) { var cards = await _cardRepository.GetTrainerTrainerCards(trainerId); var result = GetTrainerCards(pageNumber, pageSize, cards, filterData); return(result); }
public async Task <ActionResult <PagedClubCardsDTO> > GetUserClubCards( [FromQuery] CardFilterData filterData, [FromQuery] string userId, [FromQuery] int pageNumber = 1, [FromQuery] int pageSize = 5) { try { return(Ok(await _cardService.GetUserClubCards(pageNumber, pageSize, userId, filterData))); } catch (Exception exception) { return(BadRequest(exception.Message)); } }
private ISpecification <TrainerCard> ApplyTrainerCardFilters(CardFilterData filterData) { return(new TrainerCardMatchesName(filterData.Name) .And(new TrainerCardMatchesKeywords(filterData.Keywords)) .And(new TrainerCardIsActive(filterData.IsActive))); }