Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
                }
            }
        }