Exemplo n.º 1
0
        public async Task <List <Match> > Get(MatchCollectionRequest request)
        {
            var query = from match in _ctx.Matches
                        where (request.Team1ID.HasValue) ? (match.Team1ID == request.Team1ID || match.Team2ID == request.Team1ID) : true
                        where (request.Team2ID.HasValue) ? (match.Team2ID == request.Team2ID || match.Team1ID == request.Team2ID) : true
                        where (request.ConfederationID.HasValue) ? match.Team1.ConfederationID == request.ConfederationID || match.Team2.ConfederationID == request.ConfederationID : true
                        where (request.TournamentID.HasValue) ? match.TournamentID == request.TournamentID : true
                        where (request.TournamentTypeID.HasValue) ? match.Tournament.TournamentTypeID == request.TournamentTypeID : true
                        where (request.StartDate.HasValue) ? match.Date >= request.StartDate : true
                        where (request.EndDate.HasValue) ? match.Date <= request.EndDate : true
                        orderby match.Date ascending
                        select match;

            var matchesList = await query.Include(e => e.Team1)
                              .Include(e => e.Team2)
                              .Include(e => e.Tournament)
                              .Take(request.Quantity.GetValueOrDefault(int.MaxValue))
                              .ToListAsync();

            return(_mapper.Map <List <Match> >(matchesList));
        }
Exemplo n.º 2
0
 public Task <List <Match> > Get(MatchCollectionRequest request)
 {
     return(_matchRepository.Get(request));
 }