private void CleanUpChampions(NemeStatsDbContext nemeStatsDbContext)
{
List<int> gameDefinitionIdsToClearChampionId = (from gameDefinition in nemeStatsDbContext.GameDefinitions
where gameDefinition.Name == testGameName
|| gameDefinition.Name == testGameName2
|| gameDefinition.Name == testGameNameForGameWithOtherGamingGroupId
|| gameDefinition.Name == testGameNameForAnotherGameWithOtherGamingGroupId
select gameDefinition.Id)
.ToList();
championIdsToDelete = (from champion in nemeStatsDbContext.Champions
where gameDefinitionIdsToClearChampionId.Contains(champion.GameDefinitionId)
select champion.Id)
.Distinct()
.ToList();
GameDefinition gameDefinitionNeedingChampionCleared;
foreach (int gameDefinitionId in gameDefinitionIdsToClearChampionId)
{
gameDefinitionNeedingChampionCleared = nemeStatsDbContext.GameDefinitions.Find(gameDefinitionId);
gameDefinitionNeedingChampionCleared.ChampionId = null;
}
nemeStatsDbContext.SaveChanges();
Champion championToDelete;
foreach (int championId in championIdsToDelete)
{
championToDelete = nemeStatsDbContext.Champions.Find(championId);
nemeStatsDbContext.Champions.Remove(championToDelete);
}
nemeStatsDbContext.SaveChanges();
}