示例#1
0
        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();
        }