/// <summary> /// Append a CourseFaculty object to the CourseFaculty CSV file /// </summary> /// <param name="coursefaculty"></param> private void SaveCourseFacultyToFile(CourseFaculty coursefaculty) { using (System.IO.StreamWriter file = new System.IO.StreamWriter("CourseFaculty.csv", true)) { file.WriteLine(coursefaculty.ToRecord()); file.Close(); } ExposeRelatedFaculty(); }
/// <summary> /// Performs validation of and disk data update routine to allow Faculty to Unlinked from a Course as an Instructor /// </summary> /// <param name="StudentID">The unique ID of the Faculty to be unlinked</param> /// <param name="CourseID">The unique ID of the Course the Student is to be unregistered from</param> public static void DeleteCourseFaculty(Int16 CourseID, Int16 FacultyID) { //Verify that Course exists Course course = Globals.GetCourse(CourseID); if (course == null) { throw new Exception("ERROR: Invalid Course ID (" + CourseID.ToString() + ")"); //return; } //Verify that Faculty exists Faculty faculty = Globals.GetFaculty(FacultyID); if (faculty == null) { throw new Exception("ERROR: Invalid Student ID (" + FacultyID.ToString() + ")"); //return; } //Ask user to confirm the update if (MessageBox.Show("Are you sure you want to remove the faculty member named " + faculty.FirstName + " " + faculty.LastName + " as an instructor of course number " + course.CourseNumber + " ?", "Confirm Remove Instructor", MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.No)) { return; } ArrayList alOutput = new ArrayList(); //Loop through the registry and output all CourseFaculty to an ArrayList except the Faculty to be UnLinked String CourseFacultyLine; System.IO.StreamReader CourseFacultyFile = new System.IO.StreamReader("CourseFaculty.csv"); while ((CourseFacultyLine = CourseFacultyFile.ReadLine()) != null) { CourseFaculty coursefaculty = new CourseFaculty(CourseFacultyLine); if (coursefaculty != null) { if ((coursefaculty.FacultyID.Equals(FacultyID)) && (coursefaculty.CourseID.Equals(CourseID))) { } else { alOutput.Add(CourseFacultyLine); } } } CourseFacultyFile.Close(); //Write the ArrayList back to the CourseFaculty CSV file without Appending using (System.IO.StreamWriter file = new System.IO.StreamWriter("CourseFaculty.csv", false)) { foreach (String s in alOutput) { file.WriteLine(s); } file.Close(); } }
/// <summary> /// User clicked the Assign Faculty link, so popup the Faculty selection form and if "Select" is clicked on that form, save the CourseFaculty update to the CSV file /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void lnkAssignFaculty_Click(object sender, EventArgs e) { frmSelectFaculty fSelectFaculty = new frmSelectFaculty(); if (fSelectFaculty.ShowDialog().Equals(DialogResult.OK)) { CourseFaculty coursefaculty = new CourseFaculty(); Course course = (Course)lstCourse.SelectedItem; Faculty faculty = (Faculty)fSelectFaculty.cboFaculty.SelectedItem; coursefaculty.CourseID = course.ID; coursefaculty.FacultyID = faculty.ID; SaveCourseFacultyToFile(coursefaculty); splitContainer1.Panel2Collapsed = false; } }
/// <summary> /// Validates that a Faculty teaches a Course as indicated in the CourseFaculty CSV file /// </summary> /// <param name="FacultyID">The unique ID of the Faculty to be verified</param> /// <returns>True if the Faculty teaches the Course</returns> public static bool FacultyTeachesCourse(Int16 CourseID, Int16 FacultyID) { bool bResult = false; String CourseFacultyLine; System.IO.StreamReader CourseFacultyFile = new System.IO.StreamReader("CourseFaculty.csv"); while ((CourseFacultyLine = CourseFacultyFile.ReadLine()) != null) { CourseFaculty coursefaculty = new CourseFaculty(CourseFacultyLine); if ((coursefaculty.CourseID.Equals(CourseID)) && (coursefaculty.FacultyID.Equals(FacultyID))) { bResult = true; break; } } CourseFacultyFile.Close(); return(bResult); }