/// <summary> /// Refreshes the page with a new order for the table on page load. /// </summary> /// <param name="debateOrderVar">The variable to order debates by.</param> private void RedirectWithParameters(DebateOrderVar debateOrderVar) { if (this.debateOrderVar == debateOrderVar && debateOrderType != OrderBy.Descending) //If team order is already by name, then we flip them. { ViewState["dOrderType"] = (int)OrderBy.Descending; } else { ViewState["dOrderType"] = (int)OrderBy.Ascending; } ViewState["debateOrder"] = (int)teamOrderVar; dateOrder = int.Parse(DropDownList_Date.SelectedValue); teamOrder = int.Parse(DropDownList_TeamName.SelectedValue); ViewState["date"] = dateOrder; ViewState["team"] = teamOrder; ViewState["seasonID"] = seasonIndex; ViewState["tOrderType"] = (int)debateOrderType; ViewState["debateOrder"] = (int)debateOrderVar; ViewState["prevSeasonID"] = seasonIndex; Help.ForcePostBack(this); }
protected void Page_Load(object sender, EventArgs e) { ((MasterPage)Master).SetPagePermissionLevel(2); User loggedUser = Help.GetUserSession(Session); //Gathering query values NameValueCollection queryValues = HttpUtility.ParseQueryString(Request.QueryString.ToString()); string orderString = queryValues.Get("Order"); string debateOrderString = queryValues.Get("dOrder"); if (orderString != null) { order = (OrderBy)(int.Parse(orderString)); } if (debateOrderString != null) { dOrder = (DebateOrderVar)(int.Parse(debateOrderString)); } int currentDebateID = Help.GetDebateSeasonID(Application); debates = DatabaseHandler.GetDebateSeasonDebates(currentDebateID); debates = Help.OrderDebates(order, dOrder, debates); TableRow header = CreateHeaderRow(); Table1.Rows.Add(header); int rowNum = 1; // row 0 will be the header row. foreach (Debate d in debates) { if (loggedUser.PermissionLevel == 2) { if (d.Team1Score == -1 && d.Team2Score == -1) { TableRow debateRow = CreateDebateRow(d, rowNum); Table1.Rows.Add(debateRow); rowNum++; } } else if (loggedUser.PermissionLevel == 3) { TableRow debateRow = CreateDebateRow(d, rowNum); Table1.Rows.Add(debateRow); rowNum++; } } }
private void RedirectWithParameters(DebateOrderVar debateOrderVar) { NameValueCollection queryValues = HttpUtility.ParseQueryString(Request.QueryString.ToString()); if (dOrder == debateOrderVar && order != OrderBy.Descending) //If team order is already by name, then we flip them. { queryValues.Set("dOrder", ((int)debateOrderVar).ToString()); queryValues.Set("Order", ((int)OrderBy.Descending).ToString()); } else { queryValues.Set("dOrder", ((int)debateOrderVar).ToString()); queryValues.Set("Order", ((int)OrderBy.Ascending).ToString()); } string url = Request.Url.AbsolutePath; Response.Redirect(url + "?" + queryValues); }
/// <summary> /// Refreshes the page with a new order for the table on page load. /// </summary> /// <param name="debateOrderVar"></param> private void RedirectWithParameters(DebateOrderVar debateOrderVar) { if (dOrder == debateOrderVar && order != OrderBy.Descending) //If team order is already by name, then we flip them. { ViewState["Order"] = (int)OrderBy.Descending; } else { ViewState["Order"] = (int)OrderBy.Ascending; } dateOrder = int.Parse(DropDownList_Date.SelectedValue); teamOrder = int.Parse(DropDownList_TeamName.SelectedValue); ViewState["dOrder"] = (int)debateOrderVar; ViewState["date"] = dateOrder; ViewState["team"] = teamOrder; Help.ForcePostBack(this); }
protected void Page_Load(object sender, EventArgs e) { int currentDebateID = Help.GetDebateSeasonID(Application); if (currentDebateID != -1) { //Gathering query values NameValueCollection queryValues = HttpUtility.ParseQueryString(Request.QueryString.ToString()); string orderString = queryValues.Get("Order"); string debateOrderString = queryValues.Get("dOrder"); if (orderString != null) { order = (OrderBy)(int.Parse(orderString)); } if (debateOrderString != null) { dOrder = (DebateOrderVar)(int.Parse(debateOrderString)); } debates = DatabaseHandler.GetDebateSeasonDebates(currentDebateID); debates = Help.OrderDebates(order, dOrder, debates); TableRow header = CreateHeaderRow(); Table1.Rows.Add(header); foreach (Debate d in debates) { TableRow debateRow = CreateDebateRow(d); Table1.Rows.Add(debateRow); } } else { Panel_NoDebate.Visible = true; } }
/// <summary> /// Orders a list of debates by a given variable in a given order and returns the resulting list. /// </summary> /// <param name="order">The order of the returning list.</param> /// <param name="variable">The variable to order by.</param> /// <param name="debates">The list of debates being ordered.</param> /// <returns>Returns a list of debates properly ordered by the given variables.</returns> public static List <Debate> OrderDebates(OrderBy order, DebateOrderVar variable, List <Debate> debates) { switch (variable) { default: if (order == OrderBy.Ascending) { return(debates.OrderBy(o => o.Date).ToList()); } else { return(debates.OrderByDescending(o => o.Date).ToList()); } case DebateOrderVar.Team1Name: { int maxLength = debates.Max(o => o.Team1.Name.Length); if (order == OrderBy.Ascending) { return(debates.OrderBy(o => o.Team1.Name.PadLeft(maxLength, '0')).ToList()); //Not the most effecient way of sorting, but whatever it works. } else { return(debates.OrderByDescending(o => o.Team1.Name.PadLeft(maxLength, '0')).ToList()); //Not the most effecient way of sorting, but whatever it works. } } case DebateOrderVar.Team2Name: { int maxLength = debates.Max(o => o.Team2.Name.Length); if (order == OrderBy.Ascending) { return(debates.OrderBy(o => o.Team2.Name.PadLeft(maxLength, '0')).ToList()); //Not the most effecient way of sorting, but whatever it works. } else { return(debates.OrderByDescending(o => o.Team2.Name.PadLeft(maxLength, '0')).ToList()); //Not the most effecient way of sorting, but whatever it works. } } case DebateOrderVar.Team1Score: if (order == OrderBy.Ascending) { return(debates.OrderBy(o => o.Team1Score).ToList()); } else { return(debates.OrderByDescending(o => o.Team1Score).ToList()); } case DebateOrderVar.Team2Score: if (order == OrderBy.Ascending) { return(debates.OrderBy(o => o.Team2Score).ToList()); } else { return(debates.OrderByDescending(o => o.Team2Score).ToList()); } case DebateOrderVar.MorningDebate: if (order == OrderBy.Ascending) { return(debates.OrderBy(o => o.MorningDebate).ToList()); } else { return(debates.OrderByDescending(o => o.MorningDebate).ToList()); } } }
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) { ((MasterPage)Master).SetPagePermissionLevel(2); User loggedUser = Help.GetUserSession(Session); if (loggedUser != null) { //Gathering query values NameValueCollection queryValues = HttpUtility.ParseQueryString(Request.QueryString.ToString()); string orderString = queryValues.Get("Order"); string debateOrderString = queryValues.Get("dOrder"); if (orderString != null) { order = (OrderBy)(int.Parse(orderString)); } if (debateOrderString != null) { dOrder = (DebateOrderVar)(int.Parse(debateOrderString)); } debateSeasonID = Help.GetDebateSeasonID(Application); if (debateSeasonID == -1) //There is no debate season going on. { Panel_Info.Visible = true; Label_Info.Text = "There is currently no ongoing debate season to score."; Panel1.Visible = false; Panel_UpdateScores.Visible = false; return; //We end the method here if there is no debate season/ } debates = DatabaseHandler.GetDebateSeasonDebates(debateSeasonID); seasonStartDate = DatabaseHandler.GetDebateSeasonDateTime(debateSeasonID, out seasonLength); debates = Help.OrderDebates(order, dOrder, debates); TableRow header = CreateHeaderRow(); Table1.Rows.Add(header); int rowNum = 1; // row 0 will be the header row. foreach (Debate d in debates) { if (loggedUser.PermissionLevel == 2) { if (d.Team1Score == -1 && d.Team2Score == -1) { TableRow debateRow = CreateDebateRow(d, rowNum, loggedUser); Table1.Rows.Add(debateRow); rowNum++; } } else if (loggedUser.PermissionLevel == 3) { TableRow debateRow = CreateDebateRow(d, rowNum, loggedUser); Table1.Rows.Add(debateRow); rowNum++; } } if (Table1.Rows.Count == 1 && loggedUser.PermissionLevel < 3) //Only the header exists in the table. IE: There are no more debates to score. { Panel_Info.Visible = true; Label_Info.Text = "All debates have been scored, the season must now be ended by a " + Help.GetPermissionName(3); Panel1.Visible = false; Panel_UpdateScores.Visible = false; } //Creating the end debate season button. if (loggedUser.PermissionLevel >= 3 && DatabaseHandler.DebateSeasonScored(debateSeasonID)) { //The entire debate season has been scored, so let's add the option to end it. Button endSeasonBut = new Button(); endSeasonBut.Width = UpdateButton.Width; endSeasonBut.Height = 20; endSeasonBut.Text = "End Debate Season"; endSeasonBut.Command += EndSeasonBut_Command; Panel_UpdateScores.Controls.AddAt(Panel_UpdateScores.Controls.Count - 1, new LiteralControl("<br /> <br /> <br />")); Panel_UpdateScores.Controls.AddAt(Panel_UpdateScores.Controls.Count - 1, endSeasonBut); Panel_UpdateScores.Controls.AddAt(Panel_UpdateScores.Controls.Count - 1, new LiteralControl("<br />")); } } }
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; } }