public IList<GameOptionPick> GetGameOptionPicksForSeason(int season) { var gameOptionPicks = new List<GameOptionPick>(); var games = _gameRepository.GetForSeason(season, null); var options = _optionRepository.GetAllForSeason(season); var picks = _pickRepository.GetForSeasonAllUsers(season); foreach (var game in games) { var gameOptionPick = new GameOptionPick { GameId = game.Id, Season = game.Season, SeasonType = game.SeasonType, Week = game.Week }; var g = game; foreach (var option in options.Where(option => option.GameId == g.Id && option.Outcome.HasValue)) { var userPickOption = new UserPickOption { OptionId = option.Id, Outcome = option.Outcome.Value, UserPicks = picks.Where(pick => pick.OptionId == option.Id).ToList() }; gameOptionPick.Options.Add(userPickOption); } gameOptionPicks.Add(gameOptionPick); } return gameOptionPicks; }
private static List<GameOptionPick> CreateGameOptionPicks(int season, int preSeasonWeeks, int regularSeasonWeeks, int postSeasonWeeks) { var gameOptionPicks = new List<GameOptionPick>(); for (var i = 1; i <= preSeasonWeeks; i++) { var gameOptionPick = new GameOptionPick { Season = season, SeasonType = SeasonType.PRE, Week = i }; gameOptionPicks.Add(gameOptionPick); } for (var i = 1; i <= regularSeasonWeeks; i++) { var gameOptionPick = new GameOptionPick { Season = season, SeasonType = SeasonType.REG, Week = i }; gameOptionPicks.Add(gameOptionPick); } for (var i = 1; i <= postSeasonWeeks; i++) { var gameOptionPick = new GameOptionPick { Season = season, SeasonType = SeasonType.POST, Week = i }; gameOptionPicks.Add(gameOptionPick); } return gameOptionPicks; }