// Μεθοδος που τυπώνει τους μαθητες που πρεπει να δωσουν εργασια τη βδομαδα αυτη 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