// Μεθοδος που τυπώνει τους μαθητες που πρεπει να δωσουν εργασια τη βδομαδα αυτη
        public static void PrintsStudentsNeedSubmitAssignment(Database db, DateTime startOfWeek, DateTime endOfWeek)
        {
            List <StudentsWithDueAssignments> studentsPouDinounErgasia;                                                            // φτιαχνω λιστα με τους μαθητες που δινουν εργασια μεσα στη βδομαδα αυτη

            studentsPouDinounErgasia = StudentsWithDueAssignments.PrintStudentsToSubmitAssignmentList(db, startOfWeek, endOfWeek); //η μεθοδος μου δινει τη λιστα με τους μαθητες αυτους και τη βαζω στη λιστα που εφτιαξα
            DecorForStudentsToSubmitAssignment(startOfWeek, endOfWeek);                                                            //τυπωνει κειμενο που αναφερει την εναρξη και το τελος της βδομαδας
            if (studentsPouDinounErgasia.Count > 0)                                                                                // αν η λιστα δεν ειναι αδεια (δηλ υπαρχουν μαθητες που να δινουν εργασια αυτη τη βδομαδα) τυπωνω τους μαθητες
            {
                foreach (var stud in studentsPouDinounErgasia)
                {
                    stud.Output();
                }
            }
            else
            {
                Console.WriteLine("There are no students who need to subitt their assignments in this week.");
            }
        }//end PrintsStudentsNeedSubmitAssignment
        }// end Output

        // Μεθοδος που φτιαχνει λιστα με τους μαθητές που πρέπει να δωσουν assignment μεσα στη βδομαδα
        public static List <StudentsWithDueAssignments> PrintStudentsToSubmitAssignmentList(Database db, DateTime startOfWeek, DateTime endOfWeek)
        {
            List <StudentsWithDueAssignments> studentSubmitAssign = new List <StudentsWithDueAssignments>();


            foreach (var student in db.students)
            {
                StudentsWithDueAssignments sda1 = new StudentsWithDueAssignments();
                foreach (var course in student.Courses)
                {
                    foreach (var assignment in course.assignmentsInCourse)
                    {
                        if (assignment.SubDateTime <= endOfWeek && assignment.SubDateTime >= startOfWeek)
                        {
                            sda1.student = student;
                            sda1.AddAssignment(assignment);
                            studentSubmitAssign.Add(sda1);
                        }
                    }
                }
            }
            // 1ος ΤΡΟΠΟΣ  ΓΙΑ ΝΑ ΑΦΑΙΡΟΥΝΤΑ ΤΑ ΔΙΠΛΑ ΟΝΟΜΑΤΑ ΑΠΟ ΤΗ ΛΙΣΤΑ ΜΑΘΗΤΩΝ ΠΟΥ ΠΑΡΑΔΙΔΟΥΝ ΕΡΓΑΣΙΑ ΑΥΤΗ ΤΗ ΒΔΟΜΑΔΑ (για να μην εμφανιζονται 2 φορες οσοι δινουν περισσοτερες από 1 εργασιες)
            studentSubmitAssign = studentSubmitAssign.Distinct().ToList();

            // 2ος ΤΡΟΠΟΣ ΓΙΑ ΝΑ ΑΦΑΙΡΟΥΝΤΑΙ ΤΑ ΔΙΠΛΑ ΟΝΟΜΑΤΑ ΑΠΟ ΤΗ ΛΙΣΤΑ ΜΑΘΗΤΩΝ ΠΟΥ ΠΑΡΑΔΙΔΟΥΝ ΕΡΓΑΣΙΑ ΑΥΤΗ ΤΗ ΒΔΟΜΑΔΑ

            //for (int i = 1; i < studentSubmitAssign.Count; i++)
            //{
            //    if (studentSubmitAssign[i - 1] == studentSubmitAssign[i])
            //    {
            //        studentSubmitAssign.RemoveAt(i - 1);
            //    }
            //}

            return(studentSubmitAssign);
        }//end printStudentsToSubmitAssignment