protected virtual void addCourseButton_Click(object sender, EventArgs e) { try { //Attempt to create course object StringCourseBuilder builder = new Course.StringCourseBuilder(courseNameTB.Text, courseDescriptionTB.Text, coursePrefixTB.Text, courseIDTB.Text, courseCreditsTB.Text, courses); builder.CourseDetails = detailsForm.courseDetails; builder.ValidTerms = validSemestersTB.Text; builder.Dependencies = courseDependenciesTB.Text; builder.Copendencies = courseCopendenciesTB.Text; course = builder.build(); //check to make sure course ref does not exist if (courses.Contains(course)) { course = null; throw new Exception("Course already exists!"); } this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
protected override void addCourseButton_Click(object sender, EventArgs e) { try { //Attempt to create course object StringCourseBuilder builder = new Course.StringCourseBuilder(courseNameTB.Text, courseDescriptionTB.Text, coursePrefixTB.Text, courseIDTB.Text, courseCreditsTB.Text, courses); builder.ValidTerms = validSemestersTB.Text; builder.Dependencies = courseDependenciesTB.Text; builder.Copendencies = courseCopendenciesTB.Text; builder.CourseDetails = detailsEditForm.courseDetails; Course editedCourse = builder.build(); //check to ensure course ref is the same if (!editedCourse.Equals(editCourse)) { //if not, ensure it does not already exist in the course list if (courses.Contains(editedCourse)) { throw new Exception("Course already exists!"); } } //find all dependees that will need there dependent ref updated List <Course> dependenciesToModify = new List <Course>(); List <Course> copendenciesToModify = new List <Course>(); foreach (Course course in courses) { if (course.dependencies.Contains(editCourse)) { dependenciesToModify.Add(course); } if (course.copendencies.Contains(editCourse)) { copendenciesToModify.Add(editCourse); } } //add edited course to list courses.Add(editedCourse); if (!(dependenciesToModify.Count == 0 && copendenciesToModify.Count == 0)) { //prompt the user to ensure continue String message = "Warning: This will overide the course dependent for the following courses from\n" + editCourse.courseReference + " to " + editedCourse.courseReference + ", Continue?\n" + "Course List: "; foreach (Course course in dependenciesToModify) { message += course.courseReference + ", "; } foreach (Course course in copendenciesToModify) { message += course.courseReference + ", "; } message = message.TrimEnd(','); PromptWindow confirm = new PromptWindow(message); this.SuspendLayout(); confirm.ShowDialog(); // if ok, overrite, else cancel if (confirm.Result) { foreach (Course course in dependenciesToModify) { CourseBuilder newCourse = new Course.CourseBuilder(course, courses); newCourse.removeDependency(editCourse); newCourse.addDependency(editedCourse); courses.Remove(course); courses.Add(newCourse.build()); } foreach (Course course in copendenciesToModify) { CourseBuilder newCourse = new Course.CourseBuilder(course, courses); newCourse.removeCopendency(editCourse); newCourse.addCopendency(editedCourse); courses.Remove(course); courses.Add(newCourse.build()); } } else { courses.Remove(editedCourse); return; } } //remove the course from the list courses.Remove(editCourse); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }