protected void btnTerm_Click(object sender, EventArgs e) { List <Student> schoolStudents = new List <Student>(); Term selectedTerm = null; List <SchoolDay> schoolDays = new List <SchoolDay>(); using (SqlConnection connection = new SqlConnection(LSKYCommon.dbConnectionString_SchoolLogic)) { int selectedTermID = -1; if (int.TryParse(drpTerm.SelectedValue, out selectedTermID)) { selectedTerm = Term.loadThisTerm(connection, selectedTermID); if (selectedTerm != null) { Track selectedTrack = Track.loadThisTrack(connection, selectedTerm.trackID); // Load school days for this school / track schoolDays = SchoolDay.loadDaysFromThisTrack(connection, selectedTrack); // Load students from the track schoolStudents = Student.loadStudentsFromThisTrack(connection, selectedTrack.ID); // Load timetables for the students that were loaded foreach (Student student in schoolStudents) { student.TimeTable = TimeTableEntry.loadStudentTimeTable(connection, student, selectedTerm); } } } } tblCSVLink.Visible = true; lnkCSVLink.NavigateUrl = "getCSV.aspx?schoolid=" + selectedTerm.schoolID + "&trackid=" + selectedTerm.trackID + "&termid=" + selectedTerm.ID; tblStudents.Rows.Clear(); tblStudents.Visible = true; tblStudents.Rows.Add(generateStudentTableHeader(schoolDays)); foreach (Student student in schoolStudents) { tblStudents.Rows.Add(generateStudentRow(student, schoolDays)); } // Load the days from the specified track // Load all students // For each day, determine what their classes are }
protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Request.QueryString["termid"])) { if (!String.IsNullOrEmpty(Request.QueryString["schoolid"])) { if (!String.IsNullOrEmpty(Request.QueryString["trackid"])) { int termID = -1; int trackID = -1; int schoolID = -1; if (int.TryParse(Request.QueryString["schoolid"], out schoolID)) { if (int.TryParse(Request.QueryString["termid"], out termID)) { if (int.TryParse(Request.QueryString["trackid"], out trackID)) { using (SqlConnection connection = new SqlConnection(LSKYCommon.dbConnectionString_SchoolLogic)) { // Load school School selectedSchool = School.loadThisSchool(connection, schoolID); if (selectedSchool != null) { // Load term Term selectedTerm = Term.loadThisTerm(connection, termID); // Load track if (selectedTerm != null) { Track selectedTrack = Track.loadThisTrack(connection, trackID); // Load students if (selectedTrack != null) { List <Student> selectedStudents = Student.loadStudentsFromThisTrack(connection, selectedTrack.ID); // Load timetable data List <SchoolDay> schoolDays = SchoolDay.loadDaysFromThisTrack(connection, selectedTrack); foreach (Student student in selectedStudents) { student.TimeTable = TimeTableEntry.loadStudentTimeTable(connection, student, selectedTerm); } string filename = "FirstClassOfDay_" + LSKYCommon.removeSpaces(selectedSchool.getName()) + "_" + LSKYCommon.removeSpaces(selectedTerm.name); sendCSV(GenerateCSV(selectedStudents, schoolDays), filename); } else { DisplayError("Track not found"); } } else { DisplayError("Term not found"); } } else { DisplayError("School not found"); } } } else { DisplayError("Invalid track"); } } else { DisplayError("Invalid term"); } } else { DisplayError("Invalid school"); } } else { DisplayError("Track must be specified"); } } else { DisplayError("School must be specified"); } } else { DisplayError("Term must be specified"); } }