コード例 #1
0
        /// <summary>
        /// Loads a student object with data suitable for the INAC report
        /// </summary>
        /// <param name="connection">A database connection</param>
        /// <param name="school"></param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <returns></returns>
        public static List <Student> loadStudentData(SqlConnection connection, School school, DateTime startDate, DateTime endDate)
        {
            List <Student> loadedStudentList = new List <Student>();
            List <Student> allLoadedStudents = Student.loadReserveStudentsFromThisSchool(connection, school);

            // Filter students to only those in a track that falls between the given dates
            foreach (Student student in allLoadedStudents)
            {
                student.track = Track.loadThisTrack(connection, student.getTrackID());
                if ((student.track.endDate > startDate) && (student.track.startDate < endDate))
                {
                    loadedStudentList.Add(student);
                }
            }

            // Load required data for students
            foreach (Student student in loadedStudentList)
            {
                // Load contacts for students
                student.contacts = Contact.loadContactsForStudent(connection, student);

                // Load absenses for students
                student.absences = Absence.loadAbsencesForThisStudentAndTimePeriod(connection, student, startDate, endDate);

                // Load any terms that fall within the specified dates
                student.track.terms = Term.loadTermsBetweenTheseDates(connection, student.track, startDate, endDate);

                // Load enrolled courses into the terms
                foreach (Term term in student.track.terms)
                {
                    term.Courses = SchoolClass.loadStudentEnrolledClassesForThisTerm(connection, student, term);
                }
            }

            return(loadedStudentList);
        }