Esempio n. 1
0
 // get list of end of season info
 // update teams, gamedata
 // don't create new season yet,
 // but advance week so getseason will know to create a new
 public static IEnumerable <ProRel> GetEndOfSeasonData()
 {
     if (GameData.CurrentWeek == GameData.WeeksInSeason)
     {
         CreateProRelData();
         EndofSeasonUpdates();
         GameData.CurrentWeek++;
     }
     return(ProRelData.GetProRelInfoForSeason(GameData.CurrentSeason));
 }
Esempio n. 2
0
        public static void CreateProRelData()
        {
            int numPromoted  = GameData.TeamsPerDivision / 6;
            int numRelegated = GameData.TeamsPerDivision / 6;

            foreach (var division in DivisionData.GetDivisions())
            {
                if (division.Id != 1)
                {
                    // do promotions
                    for (var teamindex = 1; teamindex <= numPromoted; teamindex++)
                    {
                        var teamid = TeamData.GetTeamsByDivisionId(division.Id)
                                     .FirstOrDefault(t => t.Position == teamindex)
                                     .Id;

                        ProRelData.AddProRel(
                            GameData.CurrentSeason,
                            division.Id,
                            teamid,
                            teamindex == 1 ? "Champions" : "Promoted");
                    }
                }
                if (division.Id != DivisionData.GetDivisions().Max(d => d.Id))
                {
                    // do relegations
                    for (var teamindex = GameData.TeamsPerDivision; teamindex > (GameData.TeamsPerDivision - numRelegated); teamindex--)
                    {
                        var team = TeamData.GetTeamsByDivisionId(division.Id)
                                   .FirstOrDefault(t => t.Position == teamindex);
                        if (team == null)
                        {
                            throw new Exception("No team found at position ");
                        }
                        var teamid = team.Id;

                        ProRelData.AddProRel(
                            GameData.CurrentSeason,
                            division.Id,
                            teamid,
                            "Relegated");
                    }
                }
            }
        }
Esempio n. 3
0
        private static void PromoteOrRelegateTeams()
        {
            var proNews = "Promoted: ";
            var relNews = "Relegated: ";

            foreach (var prorel in ProRelData.GetProRelInfoForSeason(GameData.CurrentSeason))
            {
                var team = TeamData.GetTeamById(prorel.TeamId);
                if (prorel.Status == "Relegated")
                {
                    team.DivisionId++;
                    relNews += team.Name + ",";
                }
                else
                {
                    team.DivisionId--;
                    proNews += team.Name + ",";
                }
            }
            proNews.TrimEnd(',');
            relNews.TrimEnd(',');
            NewsData.AddNewsItem(proNews);
            NewsData.AddNewsItem(relNews);
        }