public Dictionary <string, string> GetPredictions(int week) { Dictionary <string, string> p = new Dictionary <string, string>(); List <ITeam> allTeams = _league.Conferences.SelectMany(c => c.Divisions).SelectMany(d => d.Teams).ToList(); foreach (ITeam team in allTeams) { IGame game = team.Games.Where(g => g.Week == week).FirstOrDefault(); if (game == null) { continue; } ITeam homeTeam = _leagueLastWeek.GetTeam(game.HomeTeam); ITeam awayTeam = _leagueLastWeek.GetTeam(game.AwayTeam); string key = awayTeam.ID + " at " + homeTeam.ID; if (!p.ContainsKey(key)) { int prediction = _predictor.Predict(homeTeam, awayTeam); if (prediction > 0) { p[key] = homeTeam.ID; } else if (prediction < 0) { p[key] = awayTeam.ID; } else { p[key] = PickRandom(homeTeam, awayTeam).ID; } } } return(p); }