public Form1() { Schedule schedule = new Schedule(); List<Course> requiredCourses = sqlQuery.getAllCoursesFromTable("required_classes"); List<Course> socialScienceCourses = sqlQuery.getAllCoursesFromTable("icd_sse"); List<Course> performingArtsCourses = sqlQuery.getAllCoursesFromTable("icd_vpae"); List<Course> scienceCourses = sqlQuery.getAllCoursesFromTable("science_classes"); InitializeComponent(); addSemester((SemesterEnum)0, (YearEnum)0); addSemester((SemesterEnum)1, (YearEnum)0); addSemester((SemesterEnum)0, (YearEnum)1); addSemester((SemesterEnum)1, (YearEnum)1); addSemester((SemesterEnum)0, (YearEnum)2); addSemester((SemesterEnum)1, (YearEnum)2); addSemester((SemesterEnum)0, (YearEnum)3); addSemester((SemesterEnum)1, (YearEnum)3); foreach(Control ctrl in this.Controls) { if (ctrl is ListBox) { ctrl.MouseDown += new MouseEventHandler(listBox_MouseDown); ctrl.DragOver += new DragEventHandler(listBox_DragOver); ctrl.DragEnter += new DragEventHandler(listBox_DragEnter); ctrl.DragDrop += new DragEventHandler(listBox_DragDrop); } } foreach (Course c in requiredCourses) { requiredCoursesBox.Items.Add(c); } foreach (Course c in socialScienceCourses) { socialScienceBox.Items.Add(c); } foreach (Course c in performingArtsCourses) { performingArtsBox.Items.Add(c); } foreach (Course c in scienceCourses) { scienceBox.Items.Add(c); } }
public static bool ValidPreReqs(Schedule input) { bool validPreReqs = true; List<Semester> semesters = input.getSemesters(); List<Course> coursesInSchedual = new List<Course>(); //Build class list foreach (Semester semester in semesters) { foreach (Course course in semester.semesterBox.Items) { Course tempCourse = course; tempCourse.semesterTaken = semester.getID(); tempCourse.yearTaken = semester.getYear(); coursesInSchedual.Add(tempCourse); } } //Check for pre-reqs foreach (Course course in coursesInSchedual) { List<Course> preReqs = course.getPreRequisites(); foreach (Course preReq in preReqs) { //check if pre-req has been taken Course tempClass = coursesInSchedual.SingleOrDefault( c => c.Department == preReq.Department && c.CourseNum == preReq.CourseNum); if (tempClass == null) { return false; } //Check if taken in right year else if (tempClass.yearTaken > course.yearTaken) { return false; } else if (tempClass.yearTaken == course.yearTaken && tempClass.semesterTaken >= course.semesterTaken) { return false; } } } return true; }