public async Task <IEnumerable <Game> > GetGames( ScheduleQueryParameter queryParameter, CancellationToken cancellationToken) { using var scope = _tracer.InitializeTrace(nameof(GetGames)); scope.LogStart(nameof(GetGames)); var currentSeason = StringParser.GetCurrentSeason(); var season = queryParameter.Season ?? currentSeason; var games = await _gameRepository.GetGamesForSeason(season, cancellationToken); if (!string.IsNullOrWhiteSpace(queryParameter.Team)) { games = games.Where(x => string.Equals(x.HomeTeam, queryParameter.Team, StringComparison.OrdinalIgnoreCase) || string.Equals(x.AwayTeam, queryParameter.Team, StringComparison.OrdinalIgnoreCase)); } if (queryParameter.Week != null) { games = games.Where(x => x.Week == queryParameter.Week); } scope.LogEnd(nameof(GetGames)); return(games); }