internal void EditLecturer() { int lecturerCount = lecturerController.LecturerCount(); if (lecturerCount > 0) { Console.WriteLine("Please enter only one course id as displayed below"); DisplayLecturer(); Console.Write("> "); var lecturerIdToChange = Console.ReadLine(); while (lecturerController.SearchLecturer(lecturerIdToChange) == null) { Console.WriteLine("Sorry! The lecturer you wanna edit does not exist. Try again!"); Console.Write("> "); lecturerIdToChange = Console.ReadLine(); } Lecturer oldLecturer = lecturerController.SearchLecturer(lecturerIdToChange); Console.Write("You will change old id \"{0}\" to new id or press [Enter] to unchange: ", oldLecturer.Id); string updatedId = Console.ReadLine(); Console.Write("You will change old first name \"{0}\" to new name or press [Enter] to unchange: ", oldLecturer.FirstName); string updatedFName = Console.ReadLine(); Console.Write("You will change old middle name \"{0}\" to new name or press [Enter] to unchange: ", oldLecturer.MiddleName); string updatedMName = Console.ReadLine(); Console.Write("You will change old last name \"{0}\" to new name or press [Enter] to unchange: ", oldLecturer.LastName); string updatedLName = Console.ReadLine(); if (updatedId == "") { updatedId = oldLecturer.Id; } if (updatedFName == "") { updatedFName = oldLecturer.FirstName; } if (updatedMName == "") { updatedMName = oldLecturer.MiddleName; } if (updatedLName == "") { updatedLName = oldLecturer.LastName; } // Keep old information of lecturer to modify if it happens error during updating string id = oldLecturer.Id; string fName = oldLecturer.FirstName; string mName = oldLecturer.MiddleName; string lName = oldLecturer.LastName; // Delete course to edit by its id lecturerController.DeleteLecturer(lecturerIdToChange); if (lecturerController.UpdateLecturer(updatedId, updatedFName, updatedMName, updatedLName)) { Console.WriteLine("\nYou updated new information for lecturer id: " + updatedId); } else { // Recreate old lecturer if updating fail lecturerController.CreateLecturer(id, fName, mName, lName); Console.WriteLine("\nYou failed to update new information for lecturer id: " + id); Console.WriteLine(); } } else { Console.WriteLine("Opp! empty lecturer list. You should use selection 1 to add a lecturer."); } Console.WriteLine("Press[Enter] button to continue..."); Console.ReadLine(); }
internal void EnrolStudent() { if (courseController.CourseCount() == 0) { Console.WriteLine("Please add course!"); } else if (lecturerController.LecturerCount() == 0) { Console.WriteLine("Please add lecture!"); } else if (roomController.RoomCount() == 0) { Console.WriteLine("Please add room!"); } else if (studentController.StudentCount() == 0) { Console.WriteLine("Please add some students!"); } else if (classController.ClassesCount() == 0) { Console.WriteLine("Please add class!"); } else { Console.WriteLine("\t\t** Student List **"); DisplayStudent(); Console.Write("\nSelect one student id: "); string id = Console.ReadLine(); while (studentController.SearchStudent(id) == null) { Console.WriteLine("student not found!Please try again"); Console.Write("> "); id = Console.ReadLine(); } Student student = studentController.SearchStudent(id); Console.WriteLine("\t\t** Course List **"); CourseManagementView coursemv = new CourseManagementView(courseController); coursemv.DisplayCourses(); Console.Write("\nSelect one course id: "); string crid = Console.ReadLine(); while (courseController.SearchCourse(crid) == null) { Console.WriteLine("\ncourse not found!Please try again"); Console.Write("> "); crid = Console.ReadLine(); } Course course = courseController.SearchCourse(crid); ClassManagementView classmv = new ClassManagementView(classController, courseController, lecturerController, roomController); classmv.PrintClassOfCourse(crid); Console.Write("Please enter a class name to enrol in: "); string className = Console.ReadLine(); //while (classController.SearchClass(className) == null) //{ // Console.Write("\nClass not found. Try again"); // Console.Write("> "); // className = Console.ReadLine(); //} //Class enrolClass = classController.SearchClass(className); Class enrolClass = null; bool clashed = false; while (true) { enrolClass = classController.SearchClass(className); if (classController.SearchClass(className) == null) { Console.Write("\nClass not found. Try again"); Console.Write("> "); className = Console.ReadLine(); if (className == "") { clashed = true; break; } } else if (studentController.CheckClashTime(enrolClass, student, classController)) { Console.WriteLine("You select a class has period that clashed with your current classes."); Console.Write("You should select different class: "); className = Console.ReadLine(); if (className == "") { clashed = true; break; } } else { break; } } //while (studentController.CheckClashTime(enrolClass, student, classController)) //{ // Console.WriteLine("You select a class has period that clashed with your current classes."); // Console.Write("You should select different class [Enter] to exit: "); // className = Console.ReadLine(); // if (className != "") // { // while (classController.SearchClass(className) == null) // { // Console.Write("\nClass not found. Try again"); // Console.Write("> "); // className = Console.ReadLine(); // } // enrolClass = classController.SearchClass(className); // if (student.GetMyClasses().Count > 4) // { // Console.WriteLine("You are not allowed to add class any more."); // } // } // else // break; //} if (clashed) { Console.WriteLine("Student \"{0}\" failed to enrol class \"{1}\".", id, enrolClass.ToString()); } else { if (studentController.EnrolClass(enrolClass, student, classController)) { Console.WriteLine("Student \"{0}\" enrolled to class \"{1}\".", id, enrolClass.ToString()); } } } Console.Write("[Enter] to continue..."); Console.ReadLine(); }