public IActionResult TeamInfoSeason(int id, int year) { var weekRecords = TeamRecordHandler.GetTeamRecordsByTeamAndYear(id, year); var h2hRecords = weekRecords.Last().Head2HeadRecords .Where(h2h => h2h.GamesPlayed > 0) .OrderBy(h2h => h2h.Opponent.Name) .ToList(); var games = GameHandler.GetGamesByYearAndTeam(year, id); var players = RosterHandler.GetByTeamAndYearGroupedByPlayer(id, year).Select(list => { return(new TeamPlayerInfo { Player = list.First().Player, RosterEntries = list }); }).ToList(); return(View(new TeamInfoSeason { Team = TeamHandler.GetById(id), Year = year, WeekRecords = weekRecords, H2HRecords = h2hRecords, Games = games, Players = players })); }
public IActionResult GameCenter(int year, int week) { var games = GameHandler.GetGamesByWeek(year, week); return(View(new GamesInfo { Year = year, Week = week, Games = games.Select(g => new GameInfo { TeamInfos = g.GameScores.Select(gs => { var roster = RosterHandler.GetByTeamAndWeek(gs.TeamId, year, week); return new GameTeamInfo { Team = gs.Team, Points = gs.Points, Roster = new Roster { Starters = roster.Where(re => re.Position <= Position.FLX).ToList(), Bench = roster.Where(re => re.Position > Position.FLX).ToList() } }; }).ToList() }).ToList() })); }
public static void CalculateGameScores(int year, int week) { Console.WriteLine("Calculating game scores for {0} week {1}", year, week); var totalPointsPerTeam = RosterHandler.GetTotalPointsPerTeam(year, week); foreach (var teamPoints in totalPointsPerTeam) { GameHandler.UpdatePoints(year, week, teamPoints.Item1, teamPoints.Item2); } }
public IActionResult PlayerInfo(int id) { return(View(new PlayerInfo { Player = PlayerHandler.GetById(id), Years = RosterHandler.GetNumWeeksOnRosterGroupedByYear(id).Select(t => new PlayerYearInfo { Year = t.Item1, NumTeams = t.Item2, WeeksOnRoster = t.Item3, WeeksStarted = t.Item4 }).ToList() })); }
public IActionResult Index(char?firstChar) { var first = char.ToUpper(firstChar ?? 'A'); if (first < 'A' || first > 'Z') { return(RedirectToAction("Index")); } var players = PlayerHandler.GetAll(first) .OrderBy(p => p.Name) .Select(p => { var stats = RosterHandler.GetStatsForPlayer(p.Id); return(new PlayerCareerInfo { Player = p, NumTeams = stats.Item1, WeeksOnRoster = stats.Item2, WeeksStarted = stats.Item3 }); }) .ToList(); if (players.Count == 0) { return(RedirectToAction("Index")); } return(View(new PlayerIndex { CurrentFirstChar = first, AllFirstChars = PlayerHandler.GetFirstChars(), Players = players })); }
public static void AddFromFile(string rosterFile, bool force = false) { if (string.IsNullOrEmpty(rosterFile)) { return; } Console.WriteLine("Adding rosters from: {0}", rosterFile); var rosters = JsonConvert.DeserializeObject <Models.Import.WeekRosters>(File.ReadAllText(rosterFile)); var weekExists = RosterHandler.WeekExists(rosters.Year, rosters.Week); if (weekExists) { if (force) { RosterHandler.DeleteRostersInWeek(rosters.Year, rosters.Week); } else { return; } } var players = PlayerHandler.GetAll().ToDictionary(p => p.Name); var entriesToAdd = new List <RosterEntry>(); foreach (var roster in rosters.Rosters) { Console.WriteLine(" Adding roster for {0}", roster.Team); var team = TeamHandler.GetByName(roster.Team); var teamRoster = new List <RosterEntry>(); foreach (var entry in roster.Entries) { if (!players.ContainsKey(entry.PlayerName)) { var newPlayer = PlayerHandler.Add(new Player { Name = entry.PlayerName, Position = entry.PlayerPosition }); players.Add(newPlayer.Name, newPlayer); } var player = players[entry.PlayerName]; if (player.Position != entry.PlayerPosition) { Console.WriteLine("Position mismatch for {0} in {1} w{2}: {3} != {4}", player.Name, rosters.Year, rosters.Week, player.Position, entry.PlayerPosition); } teamRoster.Add(new RosterEntry { Year = rosters.Year, Week = rosters.Week, TeamId = team.Id, PlayerId = player.Id, Player = player, Position = entry.RosterPosition, Points = entry.Points, IsByeWeek = entry.IsByeWeek }); } ValidateRoster(teamRoster); entriesToAdd.AddRange(teamRoster); } RosterHandler.Add(entriesToAdd); GamesMethods.CalculateGameScores(rosters.Year, rosters.Week); }
public IActionResult PlayerInfoSeason(int id, int year) { return(View(RosterHandler.GetByPlayerAndYear(id, year))); }