private void AddPlayersToChampionData(List<GameDefinitionSummary> gameDefinitionSummaries)
{
var playerIds = gameDefinitionSummaries.Select(x => x.Champion == null ? -1 : x.Champion.PlayerId).ToList()
.Union(gameDefinitionSummaries.Select(x => x.PreviousChampion?.PlayerId ?? -1).ToList());
var players = _dataContext.GetQueryable<Player>().Where(player => playerIds.Contains(player.Id)).ToList();
foreach (var gameDefinitionSummary in gameDefinitionSummaries)
{
if (gameDefinitionSummary.Champion != null)
{
gameDefinitionSummary.Champion.Player = players.FirstOrDefault(player => player.Id == gameDefinitionSummary.Champion.PlayerId);
}
if (gameDefinitionSummary.PreviousChampion != null)
{
gameDefinitionSummary.PreviousChampion.Player = players.FirstOrDefault(player => player.Id == gameDefinitionSummary.PreviousChampion.PlayerId);
}
}
}