예제 #1
0
        public Semester MainCourseMenu(Semester semester, Year year)
        {
            Semester      semesterTemp     = semester;
            List <Course> courses          = semesterTemp.Courses;
            var           isStatusComplete = false;

            while (!isStatusComplete)
            {
                var count = 1;

                Console.WriteLine("");
                Console.WriteLine($"{year.PrintYear()} - {semester.GetSemesterTypeName()}\n");
                Console.Write($"Courses Count {courses.Count}\n");
                Console.WriteLine("------------------------------");
                foreach (var course in courses)
                {
                    Console.WriteLine(count++ + ". " + course.PrintDetails());
                }

                Console.WriteLine("------------------------------");
                Console.WriteLine("");
                try
                {
                    Console.WriteLine("");
                    Console.WriteLine("------------------------------");

                    Console.Write($"\nSelect from Options:\n[1]Add Course\n[2]Calculate GPA\n[3]Go Back\n");
                    Console.WriteLine("------------------------------");
                    Console.WriteLine("");
                    var input = Convert.ToInt32(Console.ReadLine());
                    switch (input)
                    {
                    case 1:
                        Course course = AddCourseMenu();
                        semesterTemp.AddCourse(course);
                        continue;

                    case 2:
                        Console.WriteLine(CalculateGPA(semester));
                        Console.WriteLine("Press any key to continue");
                        Console.ReadKey();
                        continue;

                    case 3:
                        isStatusComplete = true;
                        break;

                    default:
                        Console.Write("Invalid Option");
                        continue;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error, Try again");
                    continue;
                }
            }
            return(semesterTemp);
        }