Exemplo n.º 1
0
        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
            }));
        }
Exemplo n.º 2
0
        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()
            }));
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 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()
     }));
 }
Exemplo n.º 5
0
        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
            }));
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
 public IActionResult PlayerInfoSeason(int id, int year)
 {
     return(View(RosterHandler.GetByPlayerAndYear(id, year)));
 }