public void CreateFromNewAssignment(int assignmentID, int courseID) { ICollection <Course> courses = DBStudentsPerCourse.ReadCoursesWithStudents(); Course course = courses.Where(c => c.Id == courseID).First(); ICollection <Student> CourseStudents = course.Students; int result = 0; foreach (Student s in CourseStudents) { result = DBAssignmentPerStudent.CreateAssignmentPerNewStudent(s.Id, courseID, assignmentID); if (result == 0) { ConsoleUI.ShowLine("an error occured"); ConsoleUI.ReadKey(); return; } else { ConsoleUI.ShowLine($"assignment id: {assignmentID} saved for student id: {s.Id} and course id {courseID}"); } } }
public void Read() { ICollection <Course> courses = DBStudentsPerCourse.ReadCoursesWithStudents(); if (courses.Count() == 0) { ConsoleUI.ShowLine("No courses yet"); } else { ConsoleUI.ShowLine("List of courses with students\n"); foreach (Course c in courses) { ConsoleUI.ShowLine(c); ICollection <Student> CourseStudents = c.Students.ToList(); if (CourseStudents.Count() == 0) { ConsoleUI.ShowLine("->this course has not students\n"); } else { foreach (Student s in CourseStudents) { ConsoleUI.ShowMessage("->"); ConsoleUI.ShowLine(s); } ConsoleUI.ChangeLine(); } } } ConsoleUI.ReadKey(); ConsoleUI.Clear(); }
public void ReadSchedule(int studentid) { ICollection <Student> me = DBStudentsPerCourse.ReadStudentWithCourses().Where(s => s.Id == studentid).ToList(); ICollection <Course> myCourses = me.First().Courses; if (myCourses.Count() == 0) { ConsoleUI.ShowLine("no courses for you at all!!!"); } else { bool exit; exit = ConsoleUI.GetDate(out DateTime? dateToSearch, "give date to search\n"); if (exit) { ConsoleUI.ReadKey(); ConsoleUI.Clear(); return; } myCourses = myCourses.Where(c => c.StartDate <dateToSearch && c.EndDate> dateToSearch).ToList(); if (myCourses.Count() == 0) { ConsoleUI.ShowLine("no courses for you for that date"); } else { ConsoleUI.ShowLine($"in {dateToSearch} you will be having: "); foreach (Course c in myCourses) { Console.WriteLine(c); } } } ConsoleUI.ReadKey(); ConsoleUI.Clear(); }
public static void AutoGenerate() { ConsoleUI.ShowLine("Creating headmaster with username: '******' and password: '******'"); string encryptedPassword = CryptoManager.EncryptPassword("12345", out string encryptedSalt); try { int headMasterSaved = DBUser.CreateUser("hm", encryptedPassword, encryptedSalt, "headmaster", out int id); if (headMasterSaved == 0) { throw new Exception("head master NOT saved"); } } catch (Exception e) { ConsoleUI.ShowLine(e.Message); ConsoleUI.ReadKey(); return; } ConsoleUI.ShowLine("head master created"); ConsoleUI.ShowLine("creating students"); List <int> studentIDs = new List <int>(); List <int> trainerIDs = new List <int>(); List <int> assignmentIDs = new List <int>(); List <int> courseIDs = new List <int>(); int studentID; string studentUsername; string plainTextPassword; string studentFName; string studentLName; // 3 students for (int i = 0; i < 3; i++) { studentUsername = "******" + i; plainTextPassword = "******" + i; encryptedPassword = CryptoManager.EncryptPassword(plainTextPassword, out encryptedSalt); DBUser.CreateUser(studentUsername, encryptedPassword, encryptedSalt, "student", out studentID); ConsoleUI.ShowLine($"student user created u:{studentUsername} p:{plainTextPassword}"); studentFName = "studentFirstName" + i; studentLName = "studentLastName" + i; DBStudent.CreateStudent(studentFName, studentLName, new DateTime(2000, 1, 1), 20000, studentID); ConsoleUI.ShowLine($"student {studentFName} {studentLName} created"); studentIDs.Add(studentID); ConsoleUI.ChangeLine(); } int trainerID; string trainerUsername; string trainerFName; string trainerLName; string trainerSubject; // 2 trainers for (int i = 0; i < 2; i++) { trainerUsername = "******" + i; plainTextPassword = "******" + i; encryptedPassword = CryptoManager.EncryptPassword(plainTextPassword, out encryptedSalt); DBUser.CreateUser(trainerUsername, encryptedPassword, encryptedSalt, "trainer", out trainerID); ConsoleUI.ShowLine($"trainer user created u:{trainerUsername} p:{plainTextPassword}"); trainerFName = "trainerFirstName" + i; trainerLName = "trainerLastName" + i; trainerSubject = "trainerSubject" + i; DBTrainer.CreateTrainer(trainerFName, trainerLName, trainerSubject, trainerID); ConsoleUI.ShowLine($"trainer {trainerFName} {trainerLName} created"); trainerIDs.Add(trainerID); ConsoleUI.ChangeLine(); } string title; string description; // 2 assignments for (int i = 0; i < 2; i++) { title = "assignmentTitle" + i; description = "assignmentDescription" + i; DBAssignment.CreateAssignment(title, description, new DateTime(2019, 1, 1), 100, 100, out int assignmentID); assignmentIDs.Add(assignmentID); ConsoleUI.ShowLine($"assignment {title} with id: {assignmentID} created"); ConsoleUI.ChangeLine(); } // 3 courses for (int i = 0; i < 3; i++) { title = "courseTitle" + i; DBCourse.CreateCourse(title, "C#", "Full time", new DateTime(2019, 1, 1), new DateTime(2019, 2, 2), out int courseID); courseIDs.Add(courseID); ConsoleUI.ShowLine($"course {title} with id: {courseID} created"); ConsoleUI.ChangeLine(); } AssignmentPerStudentManager a = new AssignmentPerStudentManager(); //assignments-courses //all assignments to course 1 #region DBAssignmentsPerCourse.CreateAssignmentPerCourse(assignmentIDs[0], courseIDs[0]); a.CreateFromNewAssignment(assignmentIDs[0], courseIDs[0]); DBAssignmentsPerCourse.CreateAssignmentPerCourse(assignmentIDs[1], courseIDs[0]); a.CreateFromNewAssignment(assignmentIDs[1], courseIDs[0]); #endregion //first 3 assignments to course 1 #region DBAssignmentsPerCourse.CreateAssignmentPerCourse(assignmentIDs[0], courseIDs[1]); a.CreateFromNewAssignment(assignmentIDs[0], courseIDs[1]); DBAssignmentsPerCourse.CreateAssignmentPerCourse(assignmentIDs[1], courseIDs[1]); a.CreateFromNewAssignment(assignmentIDs[1], courseIDs[1]); #endregion //student courses //all students to course 1 #region DBStudentsPerCourse.CreateStudentPerCourse(studentIDs[0], courseIDs[0]); a.CreateFromNewStudent(studentIDs[0], courseIDs[0]); DBStudentsPerCourse.CreateStudentPerCourse(studentIDs[1], courseIDs[0]); a.CreateFromNewStudent(studentIDs[1], courseIDs[0]); DBStudentsPerCourse.CreateStudentPerCourse(studentIDs[2], courseIDs[0]); a.CreateFromNewStudent(studentIDs[2], courseIDs[0]); #endregion // 2 students to course 2 #region DBStudentsPerCourse.CreateStudentPerCourse(studentIDs[0], courseIDs[1]); a.CreateFromNewStudent(studentIDs[0], courseIDs[1]); DBStudentsPerCourse.CreateStudentPerCourse(studentIDs[1], courseIDs[1]); a.CreateFromNewStudent(studentIDs[1], courseIDs[1]); #endregion // 2 courses to student 1 #region DBStudentsPerCourse.CreateStudentPerCourse(studentIDs[0], courseIDs[2]); a.CreateFromNewStudent(studentIDs[0], courseIDs[2]); #endregion //trainer courses //all trainers to course 1 #region DBTrainersPerCourse.CreateTrainerPerCourse(trainerIDs[0], courseIDs[0]); DBTrainersPerCourse.CreateTrainerPerCourse(trainerIDs[1], courseIDs[0]); #endregion // 2 trainers to course 2 #region DBTrainersPerCourse.CreateTrainerPerCourse(trainerIDs[0], courseIDs[1]); DBTrainersPerCourse.CreateTrainerPerCourse(trainerIDs[1], courseIDs[1]); #endregion //2 courses to trainer 1 #region DBTrainersPerCourse.CreateTrainerPerCourse(trainerIDs[0], courseIDs[2]); #endregion ConsoleUI.ShowLine("done"); }
public void Delete() { bool exit; ICollection <Course> courses = DBStudentsPerCourse.ReadCoursesWithStudents(); ICollection <Student> students = DBStudentsPerCourse.ReadStudentWithCourses(); if (courses.Count() == 0) { ConsoleUI.ShowLine("No courses yet"); } else { ConsoleUI.ShowLine("List of courses with students\n"); foreach (Course c in courses) { ConsoleUI.ShowLine(c); ICollection <Student> CourseStudents = c.Students.ToList(); if (CourseStudents.Count() == 0) { ConsoleUI.ShowLine("->this course has not students\n"); } else { foreach (Student s in CourseStudents) { ConsoleUI.ShowMessage("->"); ConsoleUI.ShowLine(s); } ConsoleUI.ChangeLine(); } } } ConsoleUI.ChangeLine(); ConsoleUI.ShowLine("press 0 anytime to exit"); exit = ConsoleUI.GetInt(out int selectedStudent, "give student id to disconnect: "); if (exit) { return; } Student student; try { student = students.Where(s => s.Id == selectedStudent).First(); } catch (Exception) { ConsoleUI.ShowLine($"NO STUDENT FOUND FOR ID {selectedStudent}"); ConsoleUI.ReadKey(); return; } exit = ConsoleUI.GetInt(out int selectedCourse, "give course id to disconnect: "); if (exit) { return; } Course course; try { course = courses.Where(c => c.Id == selectedCourse).First(); } catch (Exception) { ConsoleUI.ShowLine($"NO COURSE FOUND FOR ID {selectedCourse}"); ConsoleUI.ReadKey(); return; } bool courseHasNoStudent = course.Students.Where(s => s.Id == selectedStudent).Count() == 0; if (courseHasNoStudent) { ConsoleUI.ShowLine("this course doesn't connect to this student"); //ConsoleUI.ReadKey(); //return; } bool studentHasNoCourse = student.Courses.Where(c => c.Id == selectedCourse).Count() == 0; if (studentHasNoCourse) { ConsoleUI.ShowLine("this student doesn't connect to this course"); ConsoleUI.ReadKey(); return; } int result = DBStudentsPerCourse.DeleteStudentPerCourse(selectedStudent, selectedCourse); if (result == 0) { ConsoleUI.ShowLine("connection could NOT be removed"); } else { ConsoleUI.ShowLine("connection removed"); AssignmentPerStudentManager apsm = new AssignmentPerStudentManager(); apsm.DeleteByStudent(selectedStudent, selectedCourse); } ConsoleUI.ReadKey(); }
public void Create() { bool exit; ConsoleUI.ShowLine("Students"); ICollection <Student> students = DBStudentsPerCourse.ReadStudentWithCourses(); if (students.Count() == 0) { ConsoleUI.ShowLine("no students yet"); } else { foreach (Student s in students) { ConsoleUI.ShowLine(s); } } ConsoleUI.ChangeLine(); ConsoleUI.ShowLine("Courses"); ICollection <Course> courses = DBStudentsPerCourse.ReadCoursesWithStudents(); if (courses.Count() == 0) { ConsoleUI.ShowLine("no courses yet"); } else { foreach (Course c in courses) { ConsoleUI.ShowLine(c); } } ConsoleUI.ChangeLine(); ConsoleUI.ShowLine("press 0 anytime to exit"); exit = ConsoleUI.GetInt(out int selectedStudent, "give student id to connect: "); if (exit) { return; } Student student; try { student = students.Where(s => s.Id == selectedStudent).First(); } catch (Exception) { ConsoleUI.ShowLine($"NO STUDENT FOUND FOR ID {selectedStudent}"); ConsoleUI.ReadKey(); return; } exit = ConsoleUI.GetInt(out int selectedCourse, "give course id to connect: "); if (exit) { return; } Course course; try { course = courses.Where(c => c.Id == selectedCourse).First(); } catch (Exception) { ConsoleUI.ShowLine($"NO COURSE FOUND FOR ID {selectedCourse}"); ConsoleUI.ReadKey(); return; } bool courseHasStudent = course.Students.Where(s => s.Id == selectedStudent).Count() > 0; if (courseHasStudent) { ConsoleUI.ShowLine("this course already connects to this student"); //ConsoleUI.ReadKey(); //return; } bool studentHasCourse = student.Courses.Where(c => c.Id == selectedCourse).Count() > 0; if (studentHasCourse) { ConsoleUI.ShowLine("this student already connects to this course"); ConsoleUI.ReadKey(); return; } int result = DBStudentsPerCourse.CreateStudentPerCourse(selectedStudent, selectedCourse); if (result == 0) { ConsoleUI.ShowLine("connection could NOT be made"); } else { ConsoleUI.ShowLine("connection saved"); //Add student to assignments of this course AssignmentPerStudentManager apcm = new AssignmentPerStudentManager(); apcm.CreateFromNewStudent(selectedStudent, selectedCourse); } ConsoleUI.ReadKey(); }