Ejemplo n.º 1
0
        static void TopStudentsOption(Grades_Handler gH, Course_Handler cH, Student_Handler sH)
        {
            String sInput;
            int    cID;

            Console.WriteLine("Which course?");
            foreach (Course course in cH.getAllCourses())
            {
                Console.WriteLine(course.getID() + ".");
            }

            sInput = Console.ReadLine();
            int.TryParse(sInput, out cID);

            List <Top5> Top5List = new List <Top5>();

            foreach (Student student in sH.getAllStudents())
            {
                Grades grades = gH.getGradesFromStudentAndCourse(student.getID(), cID);
                if (grades != null)
                {
                    if (Top5List.Capacity != 5)
                    {
                        Top5List.Add(new Top5()
                        {
                            name = student.getName(), Grade = grades.Grade_final
                        });
                    }
                    else
                    {
                        foreach (Top5 top5 in Top5List)
                        {
                            if (grades.Grade_final > top5.Grade)
                            {
                                Top5List.Remove(top5);
                                Top5List.Add(new Top5()
                                {
                                    name = student.getName(), Grade = grades.Grade_final
                                });
                            }
                            break;
                        }
                    }
                }
            }

            Top5List.OrderBy(Top5 => Top5.Grade);

            Console.WriteLine("Top 5 is: ");

            foreach (Top5 top5 in Top5List)
            {
                Console.WriteLine(top5.name + " " + top5.Grade);
            }

            Console.WriteLine("Press any key to continue....");
            Console.ReadKey();
        }