protected void Page_Load(object sender, EventArgs e) { if (Session["EspClasses"] == null) { Response.Redirect("Login.aspx"); } if (string.IsNullOrEmpty(Request.QueryString["ID"])) { Response.Redirect("Default.aspx"); } var espClass = (Session["EspClasses"] as List <EspClass>).FirstOrDefault(c => c.ClassId.Equals(Request.QueryString["ID"])); if (espClass == null) { Response.Redirect("Default.aspx"); } ClassNameHeader.InnerText = espClass.ClassName; ClassGradeHeader.InnerText = $"{espClass.Average:0.00}%"; if (Request.Browser.IsMobileDevice) { CategoriesTable.Rows[0].Cells[4].Text = "Asmts."; CategoriesTable.Rows[0].Cells.RemoveAt(2); } float totalCategoryWeight = espClass.CalculateTotalCategoryWeight(); foreach (var category in espClass.AssignmentCategories) { var row = new TableRow(); List <EspAssignment> assignments = espClass.Assignments.Where(a => a.Category.Equals(category.Category) && a.Percentage.HasValue).ToList(); double deviation = EspAssignment.StdDevOfPercentages(assignments); float relativeWeight = (category.CategoryWeight.HasValue ? category.CategoryWeight.Value : 1) / totalCategoryWeight; row.Cells.Add(new TableCell { Text = category.Category }); row.Cells.Add(new TableCell { Text = category.Percent + "%" }); if (!Request.Browser.IsMobileDevice) { row.Cells.Add(new TableCell { Text = string.Format("{0:0.00}%", deviation) }); } row.Cells.Add(new TableCell { Text = string.Format("{0:0.0}%", relativeWeight * 100) }); row.Cells.Add(new TableCell { Text = assignments.Count.ToString() }); CategoriesTable.Rows.Add(row); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["EspClasses"] == null) { Response.Redirect("Login.aspx"); } if (ClassesTable.Rows.Count <= 1) { if (Request.Browser.IsMobileDevice) { ClassesTable.Rows[0].Cells.RemoveAt(3); ClassesTable.Rows[0].Cells.RemoveAt(2); } foreach (var espClass in (List <EspClass>)Session["EspClasses"]) { var gradedAssignments = espClass.Assignments.Where(a => a.Percentage.HasValue); TableRow classRow = new TableRow(); TableCell nameCell = new TableCell(); nameCell.Controls.Add(new HyperLink { Text = espClass.ClassName, NavigateUrl = "Class.aspx?ID=" + espClass.ClassId }); classRow.Cells.Add(nameCell); classRow.Cells.Add(new TableCell { Text = (espClass.Average + "%") }); if (!Request.Browser.IsMobileDevice) { classRow.Cells.Add(new TableCell { Text = string.Format("{0:0.00}%", EspAssignment.StdDevOfPercentages(gradedAssignments)) }); classRow.Cells.Add(new TableCell { Text = (gradedAssignments.Count() + "/" + espClass.Assignments.Count()) }); } ClassesTable.Rows.Add(classRow); } } }