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(); }
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(); }
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(""); } } } } }