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();