public async Task Create(FantasyLeague fantasyLeague) { if (!await WeeksExist(fantasyLeague.FantasyLeagueID)) { DateTime startDate = DateTime.Today.AddDays(-1); int numWeeks = (fantasyLeague.TeamsNav.Count() - 1) * 2; List <FantasyMatchupWeeks> list = new List <FantasyMatchupWeeks>(); for (int i = 1; i <= numWeeks; i++) { FantasyMatchupWeeks week = new FantasyMatchupWeeks { FantasyLeagueNav = fantasyLeague, WeekNum = i, Date = startDate.AddDays(i), }; list.Add(week); } await _context.FantasyMatchupWeeks.AddRangeAsync(list); await _context.SaveChangesAsync(); return; } }
private async Task <Game> HasGameTonightAsync(FantasyMatchupWeeks matchupWeek, int teamID) { var gameTonight = await _context.Game .Include(g => g.PlayerGameStatsNav) .Include(g => g.HomeTeamNav) .Include(g => g.AwayTeamNav) .Where(g => g.DateTime.Date == matchupWeek.Date) .Where(g => g.AwayTeamID == teamID || g.HomeTeamID == teamID) .FirstOrDefaultAsync(); return(gameTonight); }
public async Task <List <PlayerGameStats> > GetGameStatsListAsync(IEnumerable <PlayerMyTeam> roster, FantasyMatchupWeeks matchupWeek) { List <PlayerGameStats> statsList = new List <PlayerGameStats>(); foreach (PlayerMyTeam player in roster) { var gameTonight = await HasGameTonightAsync(matchupWeek, player.PlayerNav.TeamID); if (gameTonight != null) { var stats = await _playerGameStatsService.GetPlayerGameStatsByGameAsync(player.PlayerNav.PlayerID, gameTonight.GameID); if (stats != null) { statsList.Add(stats); } } } return(statsList); }
public async Task <Dictionary <string, PlayerGameStats> > GetGameStatsDictionaryAsync(IDictionary <string, Player> roster, FantasyMatchupWeeks matchupWeek) { Dictionary <string, PlayerGameStats> statsDictionary = new Dictionary <string, PlayerGameStats> { { "PG1", null }, { "PG2", null }, { "SG1", null }, { "SG2", null }, { "SF1", null }, { "SF2", null }, { "PF1", null }, { "PF2", null }, { "C", null }, }; foreach (KeyValuePair <string, Player> player in roster) { if (player.Value != null) { var gameTonight = await HasGameTonightAsync(matchupWeek, player.Value.TeamID); if (gameTonight != null) { var stats = await _playerGameStatsService.GetPlayerGameStatsByGameAsync(player.Value.PlayerID, gameTonight.GameID); if (stats != null) { statsDictionary[player.Key] = stats;; } } } } return(statsDictionary); }
public async Task <Dictionary <string, string> > GetOpponentLogoDictionaryAsync(IDictionary <string, Player> roster, FantasyMatchupWeeks matchupWeek) { Dictionary <string, string> OppDictionary = new Dictionary <string, string> { { "PG1", null }, { "PG2", null }, { "SG1", null }, { "SG2", null }, { "SF1", null }, { "SF2", null }, { "PF1", null }, { "PF2", null }, { "C", null }, }; foreach (KeyValuePair <string, Player> player in roster) { if (player.Value != null) { var gameTonight = await HasGameTonightAsync(matchupWeek, player.Value.TeamID); if (gameTonight != null) { OppDictionary[player.Key] = (gameTonight.AwayTeamID == player.Value.TeamID ? gameTonight.HomeTeamNav.WikipediaLogoUrl : gameTonight.AwayTeamNav.WikipediaLogoUrl); } } } return(OppDictionary); }