protected void Page_Load(object sender, EventArgs e) { int currentDebateID = Help.GetDebateSeasonID(Application); if (currentDebateID != -1) { minimumSeasonIndex = 2; } //Gathering query values NameValueCollection queryValues = HttpUtility.ParseQueryString(Request.QueryString.ToString()); string pageString = queryValues.Get("page"); if (pageString != null) { bool result = int.TryParse(pageString, out seasonIndex); if (!result) //If we could not parse the string then we reset the index. { seasonIndex = minimumSeasonIndex; } } if (seasonIndex <= minimumSeasonIndex) { seasonIndex = minimumSeasonIndex; Button_PreviousSeason.Visible = false; } Panel_Search.Visible = true; Panel_NoSearch.Visible = false; Button_NextSeason.Enabled = true; Button_PreviousSeason.Enabled = true; object teamOrderTypeObj = ViewState["tOrderType"]; //Team order type object debateOrderTypeObj = ViewState["dOrderType"]; //Debate order type object teamOrderVarObj = ViewState["teamOrder"]; //The order of teams object debateOrderVarObj = ViewState["debateOrder"]; //The order of debates. object dateOrderObj = ViewState["date"]; object teamOrderObj = ViewState["team"]; object seasonObj = ViewState["season"]; if (debateOrderTypeObj != null) { debateOrderType = (OrderBy)(int.Parse(debateOrderTypeObj.ToString())); } if (debateOrderVarObj != null) { debateOrderVar = (DebateOrderVar)(int.Parse(debateOrderVarObj.ToString())); } if (teamOrderTypeObj != null) { teamOrderType = (OrderBy)(int.Parse(teamOrderTypeObj.ToString())); } if (teamOrderVarObj != null) { teamOrderVar = (TeamOrderVar)(int.Parse(teamOrderVarObj.ToString())); } if (seasonObj == null) { List <DebateSeason> debateSeasons = DatabaseHandler.GetDebateSeasons(seasonIndex, seasonIndex); if (debateSeasons.Count > 0) { debateSeason = debateSeasons[0]; } else //No debates were found.. ut oh. { Button_NextSeason.Visible = false; Panel_PagePanel.Visible = false; Label_SeasonTitle.Text = "No debate seasons here!"; } } else { debateSeason = seasonObj as DebateSeason; } ViewState["season"] = debateSeason; if (debateSeason != null) //We do not display the current ongoing debate season. { if (debateSeason.ID != currentDebateID) { //Setting up the enviroment currentDebateSeason = debateSeason.ID; DateTime startDate = debateSeason.StartDate; DateTime endDate = debateSeason.StartDate.AddDays(debateSeason.Length * 7); Label_SeasonTitle.Text = "Debate Season that started on " + startDate.ToString("MM/dd/yy") + " and ended on " + endDate.ToString("MM/dd/yy"); //Generating the team rankings table teams = debateSeason.Teams; teams = Help.RankTeams(teams); teams = Help.OrderTeams(teamOrderType, teamOrderVar, teams); TableRow header = CreateTeamHeaderRow(); Table_Rankings.Rows.Add(header); for (int i = 0; i < teams.Count; i++) { TableRow teamRow = Help.CreateTeamRow(teams[i], i, i); Table_Rankings.Rows.Add(teamRow); } //Generating the search options and debate table... if (dateOrderObj != null) { int val; bool result = int.TryParse(dateOrderObj.ToString(), out val); if (result && val > 0 && val <= debateSeason.Length) { dateOrder = val; } } if (teamOrderObj != null) { int val; bool result = int.TryParse(teamOrderObj.ToString(), out val); if (result && val > 0 && val <= debateSeason.Teams.Count) { teamOrder = val; } } debates = debateSeason.Debates; debates = Help.OrderDebates(debateOrderType, debateOrderVar, debates); TableRow debateHeader = CreateDebateHeaderRow(); TableData.Rows.Add(debateHeader); seasonStart = debateSeason.StartDate; seasonLength = debateSeason.Length; DateTime currentDate = seasonStart; teams = debateSeason.Teams; if (!IsPostBack) //We do not do this on page post backs (IE: After searches). { //Creating the team drop down for (int i = 0; i < teams.Count; i++) { string val = (i + 1).ToString(); ListItem teamItem = new ListItem(teams[i].Name, val); DropDownList_TeamName.Items.Add(teamItem); } //Creating the date drop down for (int i = 1; i <= seasonLength; i++) { string val = i.ToString(); ListItem dateItem = new ListItem(currentDate.ToString("MM/dd/yy"), val); DropDownList_Date.Items.Add(dateItem); currentDate = currentDate.AddDays(7); } } int addedRows = 0; //Adding the debates to the table if ((teamOrder > 0 || dateOrder > 0)) { if (teamOrder > 0) { searchName = teams[(teamOrder - 1)].Name; if (!IsPostBack) { DropDownList_TeamName.Items.FindByValue((teamOrder.ToString())).Selected = true; } } if (dateOrder > 0) { searchDate = seasonStart.AddDays((dateOrder - 1) * 7); if (!IsPostBack) { DropDownList_Date.Items.FindByValue((dateOrder.ToString())).Selected = true; } } foreach (Debate d in debates) { if (dateOrder == 0 || (d.Date.Month == searchDate.Month && d.Date.Day == searchDate.Day && d.Date.Year == searchDate.Year)) { if (teamOrder == 0 || (d.Team1.Name == searchName || d.Team2.Name == searchName)) { TableRow debateRow = Help.CreateDebateRow(d, includeVs, addedRows); TableData.Rows.Add(debateRow); addedRows++; } } } } else { foreach (Debate d in debates) { TableRow debateRow = Help.CreateDebateRow(d, includeVs, addedRows); TableData.Rows.Add(debateRow); addedRows++; } } if (addedRows <= 0) { TableData.Visible = false; Panel_NoSearch.Visible = true; Label_NoSearch.Text = "No results match your search."; } else { TableData.Visible = true; Panel_NoSearch.Visible = false; } } } }
protected void Page_Load(object sender, EventArgs e) { int currentDebateID = Help.GetDebateSeasonID(Application); Panel_Searching.Visible = true; Panel_NoDebate.Visible = false; if (currentDebateID != -1) { object orderObj = ViewState["Order"]; object debateOrderObj = ViewState["dOrder"]; object dateOrderObj = ViewState["date"]; object teamOrderObj = ViewState["team"]; if (orderObj != null) { order = (OrderBy)(int.Parse(orderObj.ToString())); } if (debateOrderObj != null) { dOrder = (DebateOrderVar)(int.Parse(debateOrderObj.ToString())); } object savedSeason = ViewState["Season"]; if (savedSeason == null) { debateSeason = DatabaseHandler.GetDebateSeason(currentDebateID); } else { debateSeason = savedSeason as DebateSeason; } ViewState["Season"] = debateSeason; if (dateOrderObj != null) { int val; bool result = int.TryParse(dateOrderObj.ToString(), out val); if (result && val > 0 && val <= debateSeason.Length) { dateOrder = val; } } if (teamOrderObj != null) { int val; bool result = int.TryParse(teamOrderObj.ToString(), out val); if (result && val > 0 && val <= debateSeason.Teams.Count) { teamOrder = val; } } debates = debateSeason.Debates; debates = Help.OrderDebates(order, dOrder, debates); TableRow header = CreateHeaderRow(); Table1.Rows.Add(header); seasonStart = debateSeason.StartDate; seasonLength = debateSeason.Length; DateTime currentDate = seasonStart; teams = debateSeason.Teams; if (!IsPostBack) //We do not do this on page post backs (IE: After searches). { //Creating the team drop down for (int i = 0; i < teams.Count; i++) { string val = (i + 1).ToString(); ListItem teamItem = new ListItem(teams[i].Name, val); DropDownList_TeamName.Items.Add(teamItem); } //Creating the date drop down for (int i = 1; i <= seasonLength; i++) { string val = i.ToString(); ListItem dateItem = new ListItem(currentDate.ToString("MM/dd/yy"), val); DropDownList_Date.Items.Add(dateItem); currentDate = currentDate.AddDays(7); } } int addedRows = 0; //Adding the debates to the table if ((teamOrder > 0 || dateOrder > 0)) { if (teamOrder > 0) { searchName = teams[(teamOrder - 1)].Name; if (!IsPostBack) { DropDownList_TeamName.Items.FindByValue((teamOrder.ToString())).Selected = true; } } if (dateOrder > 0) { searchDate = seasonStart.AddDays((dateOrder - 1) * 7); if (!IsPostBack) { DropDownList_Date.Items.FindByValue((dateOrder.ToString())).Selected = true; } } foreach (Debate d in debates) { if (dateOrder == 0 || (d.Date.Month == searchDate.Month && d.Date.Day == searchDate.Day && d.Date.Year == searchDate.Year)) { if (teamOrder == 0 || (d.Team1.Name == searchName || d.Team2.Name == searchName)) { TableRow debateRow = Help.CreateDebateRow(d, true, addedRows); Table1.Rows.Add(debateRow); addedRows++; } } } } else { foreach (Debate d in debates) { TableRow debateRow = Help.CreateDebateRow(d, true, addedRows); Table1.Rows.Add(debateRow); addedRows++; } } if (addedRows <= 0) { Table1.Visible = false; Panel_NoDebate.Visible = true; Label_NoSchedule.Text = "No results match your search."; } else { Table1.Visible = true; Panel_NoDebate.Visible = false; } } else { Panel_Searching.Visible = false; Panel_NoDebate.Visible = true; } }