public async Task <IEnumerable <SeasonWithMatches> > Handle(GetFixturesQuery request, CancellationToken cancellationToken) { var matches = await GetMatches(request); return(matches .GroupByCompetition() .ToSeasonsWithMatches(mapper)); }
private async Task <IEnumerable <Match> > GetMatches(GetFixturesQuery request) => await context.Matches .Where(x => x.KickOff.Date == DateTime.Parse(request.Date).Date) .Include(x => x.HomeTeam) .Include(x => x.AwayTeam) .Include(x => x.Season).ThenInclude(y => y.Competition).ThenInclude(z => z.Country) .Include(x => x.Incidents.Where(y => y.Class == IncidentClass.FT)).ThenInclude(z => z.PrimaryPlayer) .Include(x => x.Incidents.Where(y => y.Class == IncidentClass.FT)).ThenInclude(z => z.SecondaryPlayer) .ToListAsync();