コード例 #1
0
        public MainMenu()
        {
            InitializeComponent();
            TeamDataParser   td = new TeamDataParser();
            LeagueDataParser ld;
            DateTime         CurrentDate = DateTime.Today;

            DateString.Text = "Today's Date: " + CurrentDate.Month + "-" + CurrentDate.Day + "-" + CurrentDate.Year;
            int WeekNum = 0;

            if (File.Exists("leaguerules.xml"))
            {
                leagueButton.Content = "Manage League";

                ld               = new LeagueDataParser("leaguerules.xml");
                WeekNum          = ld.GetWeekNumber(CurrentDate);
                DateString.Text += "\nWeek " + WeekNum + " of current League";
            }
            else
            {
                leagueButton.Content = "Setup League";
            }

            teamString.Text = td.GetTeams()[0].ToString();
        }
コード例 #2
0
        public MainMenu()
        {
            InitializeComponent();
            TeamDataParser td = new TeamDataParser();
            LeagueDataParser ld;
            DateTime CurrentDate = DateTime.Today;
            DateString.Text = "Today's Date: " + CurrentDate.Month + "-" + CurrentDate.Day + "-" + CurrentDate.Year;
            int WeekNum = 0;

            if (File.Exists("leaguerules.xml"))
            {
                leagueButton.Content = "Manage League";

                ld = new LeagueDataParser("leaguerules.xml");
                WeekNum = ld.GetWeekNumber(CurrentDate);
                DateString.Text += "\nWeek " + WeekNum + " of current League";
            }
            else
            {
                leagueButton.Content = "Setup League";
            }

            teamString.Text = td.GetTeams()[0].ToString();
        }
コード例 #3
0
        public TournamentBracket()
        {
            teamParser = new TeamDataParser();
            teamList   = teamParser.GetTeams();

            leagueParser = new LeagueDataParser("leaguerules.xml");
            NumTeams     = leagueParser.StoredRules.PlayoffTeams;

            CurrentDate = DateTime.Today;
            WeekNum     = leagueParser.GetWeekNumber(CurrentDate);

            DetermineTeams();   //Determines which teams made playoffs, takes top 4/8/16 teams at the start of the playoffs and puts them in playoffTeamList

            InitializeComponent();

//Fill in initial playoff standings (week 1)
            DataGridTextColumn round1 = new DataGridTextColumn();

            round1.Header = "Round 1";
            bracketGrid1.Columns.Add(round1);

            TimeSincePlayoffStart = CurrentDate - leagueParser.StoredRules.PlayoffStart;
            DaysSincePlayoffStart = TimeSincePlayoffStart.Days;

            //int row = 0;
            for (int t = 0; t < playoffTeamList.Count; t++)
            {
                bracketGrid1.Items.Add(playoffTeamList[t].TeamName);

                if (t % 2 == 0) //every even indexed team should be versus someone and every odd indexed team should have a blank spot between it and the next matchup
                {
                    bracketGrid1.Items.Add("vs");
                }
                else
                {
                    bracketGrid1.Items.Add("");
                }
            }

//Fill in playoff standings after 1 week (week2)
            if (DaysSincePlayoffStart >= 7 && DaysSincePlayoffStart < 14)
            {
                DataGridTextColumn round2 = new DataGridTextColumn();
                round2.Header = "Round 2";
                bracketGrid2.Columns.Add(round2);

                //List<Team> tempList = playoffTeamList;
                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        //tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid2.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid2.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid2.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum))
                    {
                        //tempList.Remove(playoffTeamList[t]);

                        bracketGrid2.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid2.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid2.Items.Add("");
                        }
                    }
                }
            }

//Fill in playoff standings after 2 weeks (up to week 3)
            else if (DaysSincePlayoffStart >= 14 && DaysSincePlayoffStart < 21)
            {
                DataGridTextColumn round2 = new DataGridTextColumn();
                round2.Header = "Round 2";
                bracketGrid2.Columns.Add(round2);

                List <Team> tempList = playoffTeamList;

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum - 1) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 1)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid2.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid2.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid2.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum - 1) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 1))
                    {
                        tempList.Remove(playoffTeamList[t]);

                        bracketGrid2.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid2.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid2.Items.Add("");
                        }
                    }
                }
                playoffTeamList = tempList;

                DataGridTextColumn round3 = new DataGridTextColumn();
                round3.Header = "Round 3";
                bracketGrid3.Columns.Add(round3);

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        //tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid3.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid3.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid3.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum))
                    {
                        //tempList.Remove(playoffTeamList[t]);

                        bracketGrid3.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid3.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid3.Items.Add("");
                        }
                    }
                }
            }
//Fill in playoff standings after 3 weeks (up to week 4) (should only display if there are 8 or more teams)
            else if (DaysSincePlayoffStart >= 21 && DaysSincePlayoffStart < 28 && NumTeams >= 8)
            {
                DataGridTextColumn round2 = new DataGridTextColumn();
                round2.Header = "Round 2";
                bracketGrid2.Columns.Add(round2);

                List <Team> tempList = playoffTeamList;

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum - 2) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 2)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid2.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid2.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid2.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum - 2) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 2))
                    {
                        tempList.Remove(playoffTeamList[t]);

                        bracketGrid2.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid2.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid2.Items.Add("");
                        }
                    }
                }
                playoffTeamList = tempList;

                DataGridTextColumn round3 = new DataGridTextColumn();
                round3.Header = "Round 3";
                bracketGrid3.Columns.Add(round3);

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum - 1) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 1)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid3.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid3.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid3.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum - 1) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 1))
                    {
                        tempList.Remove(playoffTeamList[t]);

                        bracketGrid3.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid3.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid3.Items.Add("");
                        }
                    }
                }
                playoffTeamList = tempList;

                DataGridTextColumn round4 = new DataGridTextColumn();
                round4.Header = "Round 4";
                bracketGrid4.Columns.Add(round4);

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        //tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid4.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid4.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid4.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum))
                    {
                        //tempList.Remove(playoffTeamList[t]);

                        bracketGrid4.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid4.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid4.Items.Add("");
                        }
                    }
                }
            }
//Fill in playoff standings after 4 weeks (week 5) (should only display if there are 16 or more teams)
//(also last possible display since the max number of playoff weeks is 16 currently)
            else if (DaysSincePlayoffStart >= 28 && NumTeams >= 16)
            {
                DataGridTextColumn round2 = new DataGridTextColumn();
                round2.Header = "Round 2";
                bracketGrid2.Columns.Add(round2);

                List <Team> tempList = playoffTeamList;

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum - 3) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 3)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid2.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid2.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid2.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum - 3) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 3))
                    {
                        tempList.Remove(playoffTeamList[t]);

                        bracketGrid2.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid2.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid2.Items.Add("");
                        }
                    }
                }
                playoffTeamList = tempList;

                DataGridTextColumn round3 = new DataGridTextColumn();
                round3.Header = "Round 3";
                bracketGrid3.Columns.Add(round3);

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum - 2) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 2)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid3.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid3.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid3.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum - 2) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 2))
                    {
                        tempList.Remove(playoffTeamList[t]);

                        bracketGrid3.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid3.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid3.Items.Add("");
                        }
                    }
                }
                playoffTeamList = tempList;

                DataGridTextColumn round4 = new DataGridTextColumn();
                round4.Header = "Round 4";
                bracketGrid4.Columns.Add(round4);

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum - 1) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 1)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid4.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid4.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid4.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum - 1) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum - 1))
                    {
                        tempList.Remove(playoffTeamList[t]);

                        bracketGrid4.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid4.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid4.Items.Add("");
                        }
                    }
                }
                playoffTeamList = tempList;

                DataGridTextColumn round5 = new DataGridTextColumn();
                round5.Header = "Round 5";
                bracketGrid5.Columns.Add(round5);

                for (int t = 0; t < playoffTeamList.Count; t += 2)
                {
                    if (playoffTeamList[t].GetTotalForWeek(WeekNum) >= playoffTeamList[t + 1].GetTotalForWeek(WeekNum)) //Right now the team that was already ahead goes on in the event of a tie
                    {
                        //tempList.Remove(playoffTeamList[t + 1]);

                        bracketGrid4.Items.Add(playoffTeamList[t].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid4.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid4.Items.Add("");
                        }
                    }
                    else if (playoffTeamList[t].GetTotalForWeek(WeekNum) < playoffTeamList[t + 1].GetTotalForWeek(WeekNum))
                    {
                        //tempList.Remove(playoffTeamList[t]);

                        bracketGrid4.Items.Add(playoffTeamList[t + 1].TeamName);
                        if (t % 4 == 0)
                        {
                            bracketGrid4.Items.Add("vs");
                        }
                        else
                        {
                            bracketGrid4.Items.Add("");
                        }
                    }
                }
            }
        }