} // end GradeForm.ResultsButton3_Click method /******************************************************* * Button 4 click * * Arguments: Object Sender and EventArgs e * Return Type: void * Use Case: User input determines single course * to show all students grades in that course. ******************************************************/ private void ResultsButton4_Click(object sender, EventArgs e) { MainOutputBox.Clear(); MainOutputBox.Text = "Button 4"; StringBuilder passOutput = new StringBuilder(); if (CourseBox1.Text.ToString() == "") { passOutput.AppendLine("Error! Please enter text into Course field!"); MainOutputBox.Text = passOutput.ToString(); // return; } string splitString = CourseBox2.Text.ToUpper(); String[] argList = splitString.Split(' '); var courseMatches = from grade in gradePool where grade.Dept == argList[0] && grade.Course == argList[1] select grade; filteredCoursePool.Clear(); StringBuilder sb = new StringBuilder("Single Course Grade Report (" + CourseBox2.Text.ToUpper() + ")"); sb.AppendLine("\n-----------------------------------------------------------------------"); int counter = 0; foreach (Grade g in courseMatches) { sb.AppendLine(g.BuildGradeListing()); counter++; } if (counter == 0) { sb.AppendLine("\n\n No courses found, check course input for errors \nMUST BE IN format xxxx 123 or xxx 123"); } sb.AppendLine("\n\n ### END RESULTS ###"); MainOutputBox.Text = sb.ToString(); } // end GradeForm.ResultsButton4_Click method
} //PopulateMajorComboBox End /******************************************************* * Button 1 click * * Arguments: Object Sender and EventArgs e * Return Type: void * Use Case: Displays all grades for a selected student ******************************************************/ private void ResultsButton1_Click(object sender, EventArgs e) { MainOutputBox.Clear(); var gradeMatches = from grade in gradePool where grade.Zid == ZidBox.Text orderby grade.Dept select grade; StringBuilder sb = new StringBuilder("Single Student Grade Report (" + ZidBox.Text + ")"); sb.AppendLine("\n-----------------------------------------------------------------------"); foreach (Grade g in gradeMatches) { sb.AppendLine(g.BuildGradeListing()); } sb.AppendLine("\n\n ### END RESULTS ###"); MainOutputBox.Text = sb.ToString(); } // end GradeForm.ResultsButton1_Click method
} // End GradeForm.ResultsButton5_Click method /******************************************************* * Button 6 click * * Arguments: Object Sender and EventArgs e * Return Type: void * Use Case: Used to display pass rates for every course in the university ******************************************************/ private void ResultsButton6_Click(object sender, EventArgs e) { MainOutputBox.Clear(); StringBuilder passOutput = new StringBuilder(); bool bothSelected = true; // Error check for empty selection box if (GradeComboBox2.SelectedIndex == -1) { passOutput.AppendLine("Error! Please Select a Grade."); bothSelected = false; } // Error check for unselected radio buttons if (!LessButton3.Checked && !GreaterButton3.Checked) { passOutput.AppendLine("Error! Please Select Less Than or Greater Than."); bothSelected = false; } if (bothSelected) { string selectedGrade = GradeComboBox2.SelectedItem.ToString(); passOutput.AppendLine("Pass Percentage Report for Classes."); passOutput.AppendLine("-----------------------------------------------------------"); foreach (Course c in coursePool) { int numEnrolled = (from grade in gradePool where (grade.Dept == c.DeptCode) && (grade.Course == c.CourseNum.ToString()) select grade).Count(); // Create output for less than or equal to if (LessButton3.Checked) { int numPassed = (from grade in gradePool where (grade.Dept == c.DeptCode) && (grade.Course == c.CourseNum.ToString()) && (grade.LetterGrade.CompareGrade(selectedGrade) >= 0) && (grade.LetterGrade != "F") select grade).Count(); double passPercentage = (numPassed * 1.0) / numEnrolled; passOutput.Append("Out of " + numEnrolled); passOutput.Append(" enrolled in " + c.DeptCode + "-" + c.CourseNum + ", "); passOutput.Append(numPassed + " passed at or below this threshold ("); passOutput.Append(String.Format("{0:0.00%}", passPercentage)); passOutput.AppendLine(")\n"); } // Create output for greater than or equal to else { int numPassed = (from grade in gradePool where (grade.Dept == c.DeptCode) && (grade.Course == c.CourseNum.ToString()) && (grade.LetterGrade.CompareGrade(selectedGrade) <= 0) && (grade.LetterGrade != "F") select grade).Count(); double passPercentage = (numPassed * 1.0) / numEnrolled; passOutput.Append("Out of " + numEnrolled); passOutput.Append(" enrolled in " + c.DeptCode + "-" + c.CourseNum + ", "); passOutput.Append(numPassed + " passed at or above this threshold ("); passOutput.Append(String.Format("{0:0.00%}", passPercentage)); passOutput.AppendLine(")\n"); } // end else greater than } // end foreach course passOutput.Append("\n\n### END RESULTS ###"); } // end if bothSelected MainOutputBox.Text = passOutput.ToString(); } // End GradeForm.ResultsButton6_Click method
} // end GradeForm.ResultsButton4_Click method /******************************************************* * Button 5 click * * Arguments: Object Sender and EventArgs e * Return Type: void * Use Case: Displays all courses where students failed beyond a threshold ******************************************************/ private void ResultsButton5_Click(object sender, EventArgs e) { MainOutputBox.Clear(); StringBuilder failOutput = new StringBuilder(); bool radioSelected = true; // Error check for radio buttons not being set if (!LessButton2.Checked && !GreaterButton2.Checked) { failOutput.AppendLine("Error! Please Select Less Than or Greater Than."); radioSelected = false; } if (radioSelected) { bool matchNotFound = true; failOutput.AppendLine("Fail Percentage Report for Classes."); failOutput.AppendLine("-------------------------------------"); foreach (Course c in coursePool) { double numEnrolled = (from grade in gradePool where (grade.Dept == c.DeptCode) && (grade.Course == c.CourseNum.ToString()) select grade).Count(); int numFailed = (from grade in gradePool where (grade.Dept == c.DeptCode) && (grade.Course == c.CourseNum.ToString()) && (grade.LetterGrade == "F") select grade).Count(); // Calculate fail percentage for current course double failPercentage = (numFailed / numEnrolled) * 100; double percentageFilter = Convert.ToDouble(PercentageBox.Value); // Create output for less than or equal to if (LessButton2.Checked && failPercentage <= percentageFilter) { failOutput.Append("Out of " + numEnrolled + " in "); failOutput.Append(c.DeptCode + "-" + c.CourseNum + ", "); failOutput.Append(numFailed + " failed ("); failOutput.Append(String.Format("{0:0.00}", failPercentage)); failOutput.AppendLine("%)\n"); matchNotFound = false; } // Create output for greater than or equal to else if (GreaterButton2.Checked && failPercentage >= percentageFilter) { failOutput.Append("Out of " + numEnrolled + " in "); failOutput.Append(c.DeptCode + "-" + c.CourseNum + ", "); failOutput.Append(numFailed + " failed ("); failOutput.Append(String.Format("{0:0.00}", failPercentage)); failOutput.AppendLine("%)\n"); matchNotFound = false; } } // Create output for no matches found if (matchNotFound) { failOutput.AppendLine("No matches were found beyond this threshold."); } failOutput.Append("\n\n### END RESULTS ###"); } // end if radioSelected MainOutputBox.Text = failOutput.ToString(); } // End GradeForm.ResultsButton5_Click method
} // end GradeForm.ResultsButton2_Click method /******************************************************* * Button 3 click * * Arguments: Object Sender and EventArgs e * Return Type: void * Use Case: Shows students who fail a course who have * have a specific major determined by user input ******************************************************/ private void ResultsButton3_Click(object sender, EventArgs e) { MainOutputBox.Clear(); MainOutputBox.Text = "Button 3"; StringBuilder passOutput = new StringBuilder(); //Tests if Grade is inputted if (MajorComboBox.SelectedIndex == -1) { passOutput.AppendLine("Error! Please Select a Major!"); MainOutputBox.Text = passOutput.ToString(); return; } if (CourseBox1.Text.ToString() == "") { passOutput.AppendLine("Error! Please enter text into Course field!"); MainOutputBox.Text = passOutput.ToString(); return; } var studentSelected = from student in studentPool where student.Major == MajorComboBox.Text.ToString() select student; filteredStudentPool.Clear(); foreach (Student s in studentSelected) { filteredStudentPool.Add(s); } string splitString = CourseBox1.Text.ToUpper(); string[] argList = splitString.Split(' '); //arglist 0 = dept, 1=course string tester = "F"; var selection2 = from s in filteredStudentPool from g in gradePool where s.Zid.ToString() == g.Zid && g.LetterGrade == tester && g.Dept == argList[0] && g.Course == argList[1] select s; int amnt = 0; StringBuilder sb = new StringBuilder("Fail Report of Majors (" + MajorComboBox.Text + ") in " + CourseBox1.Text.ToUpper()); sb.AppendLine("\n-----------------------------------------------------------------------"); foreach (Student g in selection2) { sb.AppendLine("z" + g.Zid + " | " + argList[0] + "-" + argList[1] + " | F"); amnt++; } if (amnt == 0) { sb.AppendLine("\n\n No courses found, check course input for errors \nMUST BE IN format xxxx 123 or xxx 123"); } sb.AppendLine("\n\n ### END RESULTS ###"); MainOutputBox.Text = sb.ToString(); } // end GradeForm.ResultsButton3_Click method
} // end GradeForm.ResultsButton1_Click method /******************************************************* * Button 2 click * * Arguments: Object Sender and EventArgs e * Return Type: void * Use Case: Shows all grades either greater than * or less than the specified grade user input for * one course object. ******************************************************/ private void ResultsButton2_Click(object sender, EventArgs e) { MainOutputBox.Clear(); MainOutputBox.Text = "Button 2"; bool allSelected = true; StringBuilder passOutput = new StringBuilder(); //Tests if Grade is inputted if (GradeComboBox1.SelectedIndex == -1) { passOutput.AppendLine("Error! Please Select a Grade."); allSelected = false; MainOutputBox.Text = passOutput.ToString(); return; } //Tests if 1 button is checked if (!LessButton1.Checked && !GreaterButton1.Checked) { passOutput.AppendLine("Error! Please Select Less Than or Greater Than."); allSelected = false; MainOutputBox.Text = passOutput.ToString(); return; } //tests if course input is blank if (textBox1.Text.ToString() == "") { passOutput.AppendLine("Error! Please enter text into Course field!"); allSelected = false; MainOutputBox.Text = passOutput.ToString(); return; } if (allSelected) { int amnt = 0; string selectedGrade = GradeComboBox1.SelectedItem.ToString(); string splitString = textBox1.Text.ToUpper(); string[] argList = splitString.Split(' '); if (LessButton1.Checked) { var studmatches = from grade in gradePool where ((grade.LetterGrade.CompareGrade(selectedGrade)) >= 0) && (grade.Dept == argList[0]) && (grade.Course == argList[1]) select grade; // if (studmatches.Sum == 0) StringBuilder sb = new StringBuilder("Grade Threshold Report for (" + textBox1.Text.ToUpper() + ")"); sb.AppendLine("\n-----------------------------------------------------------------------"); foreach (Grade g in studmatches) { sb.AppendLine(g.BuildGradeListing()); amnt++; } if (amnt == 0) { sb.AppendLine("\n\n No courses found, check course input for errors \nMUST BE IN format xxxx 123 or xxx 123"); } sb.AppendLine("\n\n ### END RESULTS ###"); MainOutputBox.Text = sb.ToString(); } else { var studmatches = from grade in gradePool where ((grade.LetterGrade.CompareGrade(selectedGrade)) <= 0) && (grade.Dept == argList[0]) && (grade.Course == argList[1]) select grade; StringBuilder sb = new StringBuilder("Single Course Grade Report (" + textBox1.Text.ToUpper() + ")"); sb.AppendLine("\n-----------------------------------------------------------------------"); foreach (Grade g in studmatches) { sb.AppendLine(g.BuildGradeListing()); amnt++; } if (amnt == 0) { sb.AppendLine("\n\n No courses found, check course input for errors \nMUST BE IN format xxxx 123 or xxx 123"); } sb.AppendLine("\n\n ### END RESULTS ###"); MainOutputBox.Text = sb.ToString(); } } } // end GradeForm.ResultsButton2_Click method