// assignments student private static void ConnectAssignmentsStudents() { if (AssignmentList.Count == 0) { Console.WriteLine("assignments do not exist\n"); return; } else if (CourseList.Count == 0) { Console.WriteLine("courses do not exist\n"); return; } else if (StudentList.Count == 0) { Console.WriteLine("students do not exist\n"); return; } AssignmentManager.ShowAssignments(false); CourseManager.ShowCourses(false); StudentManager.ShowStudents(false); string input; bool correctInput; while (true) { Console.WriteLine("type the number of assignment,course and student you want to connect, using -"); Console.WriteLine("for example type '1-2-3' to connect the first assignment with the second course for the third student"); Console.WriteLine("student and assignment must already be connected to course"); Console.WriteLine("type '0' or 'exit' to leave\n"); input = Console.ReadLine(); if (input.Trim().Equals("0") || input.Trim().Equals("exit")) { break; } string[] items = input.Split('-'); if (items.Length < 3) { Console.WriteLine("arguments missing\n"); continue; } else if (items.Length > 3) { Console.WriteLine("too many arguments\n"); continue; } correctInput = Int32.TryParse(items[0].Trim(), out int AssignmentCode); if (!correctInput) { Console.WriteLine("wrong assignment attribute\n"); continue; } correctInput = Int32.TryParse(items[1].Trim(), out int CourseCode); if (!correctInput) { Console.WriteLine("wrong course attribute\n"); continue; } correctInput = Int32.TryParse(items[2].Trim(), out int StudentCode); if (!correctInput) { Console.WriteLine("wrong student attribute\n"); continue; } //check codes are correct if (CourseCode > CourseList.Count || CourseCode < 1) { Console.WriteLine("course number is not valid\n"); continue; } else if (AssignmentCode > AssignmentList.Count || AssignmentCode < 1) { Console.WriteLine("assignment number is not valid\n"); continue; } else if (StudentCode > StudentList.Count || StudentCode < 1) { Console.WriteLine("student number is not valid\n"); continue; } Course c = CourseList[CourseCode - 1]; Assignment a = AssignmentList[AssignmentCode - 1]; Student s = StudentList[StudentCode - 1]; //check course has assignment bool CourseHasAssignment = c.AssignmentCodes.Contains(AssignmentCode - 1); if (!CourseHasAssignment) { Console.WriteLine($"Course '{c.Title}' doesn't have assignment '{a.Title}'\n"); continue; } //check assignment has course bool AssignmentHasCourse = a.CourseCodes.Contains(CourseCode - 1); if (!AssignmentHasCourse) { Console.WriteLine($"Assignment '{c.Title}' doesn't belong to course '{c.Title}'\n"); continue; } //check course has student bool CourseHasStudent = c.StudentCodes.Contains(StudentCode - 1); if (!CourseHasStudent) { Console.WriteLine($"Course '{c.Title}' doesn't have student '{s.LastName}'\n"); continue; } //check student has course bool StudentHasCourse = s.CourseCodes.Contains(CourseCode - 1); if (!StudentHasCourse) { Console.WriteLine($"Student '{s.LastName}' doesn't belong to course '{c.Title}'\n"); continue; } //add them if (s.AssignmentCodes.Contains(AssignmentCode - 1) && a.StudentCodes.Contains(StudentCode - 1)) { Console.WriteLine("this relation already exists\n"); continue; } s.AssignmentCodes.Add(AssignmentCode - 1); a.StudentCodes.Add(StudentCode - 1); Console.Write($"you connected assignment {AssignmentCode}: '{a.Title}'"); Console.WriteLine($"with course {CourseCode}: '{c.Title}' "); Console.WriteLine($"for student {StudentCode}: '{s.FirstName} {s.LastName}'\n"); } }
// students courses private static void ConnectStudentsCourses() { if (StudentList.Count == 0) { Console.WriteLine("students do not exist\n"); return; } else if (CourseList.Count == 0) { Console.WriteLine("courses do not exist\n"); return; } StudentManager.ShowStudents(false); CourseManager.ShowCourses(false); string input; bool correctInput; while (true) { Console.WriteLine("type the number of student and course you want to connect, using -"); Console.WriteLine("for example, type '1-2' to connect the first student with the second course"); Console.WriteLine("type 'exit' or '0' to leave\n"); input = Console.ReadLine(); if (input.Trim().Equals("0") || input.Trim().Equals("exit")) { break; } string[] items = input.Split('-'); if (items.Length < 2) { Console.WriteLine("argument is missing\n"); continue; } else if (items.Length > 2) { Console.WriteLine("too many arguments\n"); continue; } correctInput = Int32.TryParse(items[0].Trim(), out int StudentCode); if (!correctInput) { Console.WriteLine("wrong student attribute\n"); continue; } correctInput = Int32.TryParse(items[1].Trim(), out int CourseCode); if (!correctInput) { Console.WriteLine("wrong course attribute\n"); continue; } if (StudentCode < 1 || StudentCode > StudentList.Count) { Console.WriteLine("student number is not valid\n"); continue; } if (CourseCode < 1 || CourseCode > CourseList.Count) { Console.WriteLine("course number is not valid\n"); continue; } Student s = StudentList[StudentCode - 1]; Course c = CourseList[CourseCode - 1]; if (s.CourseCodes.Contains(CourseCode - 1) && c.StudentCodes.Contains(StudentCode - 1)) { Console.WriteLine("this relation already exists\n"); continue; } s.CourseCodes.Add(CourseCode - 1); c.StudentCodes.Add(StudentCode - 1); Console.WriteLine($"you connected student {StudentCode}: {s.FirstName} {s.LastName} with course {CourseCode}: {c.Title}\n"); } }