public void ShowPersonalMessage(int id) { ICollection <Trainer> trainers = DBTrainer.ReadTrainers(); Trainer me = trainers.Where(t => t.Id == id).First(); ConsoleUI.ShowLine($"Hello {me.FirstName} {me.LastName}"); }
public static bool IsEmptyDB() { int UserSize = DBUser.ReadUsers().Count(); int AssignmentSize = DBAssignment.ReadAssignments().Count(); int StudentSize = DBStudent.ReadStudents().Count(); int CourseSize = DBCourse.ReadCourses().Count(); int TrainerSize = DBTrainer.ReadTrainers().Count(); bool basicEntities = UserSize == 0 && AssignmentSize == 0 && StudentSize == 0 && CourseSize == 0 && TrainerSize == 0; return(basicEntities); }
public void Read() { ICollection <Trainer> trainers = DBTrainer.ReadTrainers(); if (trainers.Count() == 0) { ConsoleUI.ShowLine("no trainers yet"); } else { foreach (Trainer t in trainers) { ConsoleUI.ShowLine(t); } } 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 <Trainer> trainers = DBTrainer.ReadTrainers(); if (trainers.Count() == 0) { ConsoleUI.ShowLine("no trainers yet"); ConsoleUI.ReadKey(); ConsoleUI.Clear(); return; } else { ConsoleUI.ShowLine("select trainer to delete, type 0 to exit"); foreach (Trainer t in trainers) { ConsoleUI.ShowLine(t); } } exit = ConsoleUI.GetInt(out int TrainerID, "give trainer id: "); if (exit) { return; } Trainer trainer; try { trainer = trainers.Where(t => t.Id == TrainerID).First(); } catch (Exception) { ConsoleUI.ShowLine($"NO TRAINER FOUND WITH ID: {TrainerID}"); ConsoleUI.ReadKey(); return; } bool confirmed = ConsoleUI.GetConfirmation($"are you sure you want to delete trainer {trainer.FirstName} {trainer.LastName}? [y/n]: "); int result = 0; if (confirmed) { try { result = DBTrainer.DeleteTrainer(TrainerID); if (result == 0) { throw new Exception("could NOT delete trainer"); } } catch (Exception e) { ConsoleUI.ShowLine(e.Message); ConsoleUI.ReadKey(); return; } try { result = DBUser.DeleteUser(TrainerID); if (result == 0) { throw new Exception("could NOT delete user"); } } catch (Exception e) { ConsoleUI.ShowLine(e.Message); ConsoleUI.ReadKey(); return; } ConsoleUI.ShowLine("trainer deleted successfully"); ConsoleUI.ReadKey(); } }
public void Create() { bool exit; while (true) { ConsoleUI.Clear(); string baseMessage = "type trainer's information or type 0 to exit \n"; exit = ConsoleUI.GetString(out string username, $"{baseMessage}Trainer's username: "******"{baseMessage}Trainer's password: "******"{baseMessage}Trainer's first name: "); if (exit) { return; } exit = ConsoleUI.GetString(out string lname, $"{baseMessage}Trainer's last name: "); if (exit) { return; } exit = ConsoleUI.GetString(out string subject, $"{baseMessage}Trainer's subject: "); if (exit) { return; } int trainerID; string encryptedPassword = CryptoManager.EncryptPassword(password, out string encryptedSalt); try { int userSaved = DBUser.CreateUser(username, encryptedPassword, encryptedSalt, "trainer", out trainerID); if (userSaved == 0) { throw new Exception("user NOT saved"); } } catch (Exception e) { ConsoleUI.ShowLine(e.Message); ConsoleUI.ReadKey(); return; } ConsoleUI.ShowLine($"user {username} saved"); try { int trainerSaved = DBTrainer.CreateTrainer(fname, lname, subject, trainerID); if (trainerSaved == 0) { throw new Exception("trainer NOT saved"); } } catch (Exception e) { ConsoleUI.ShowLine(e.Message); ConsoleUI.ReadKey(); return; } ConsoleUI.ShowLine("trainer created"); ConsoleUI.ReadKey(); } }
public void Update() { bool exit; ICollection <Trainer> trainers = DBTrainer.ReadTrainers(); if (trainers.Count() == 0) { ConsoleUI.ShowLine("No trainers yet"); ConsoleUI.ReadKey(); ConsoleUI.Clear(); return; } else { ConsoleUI.ShowLine("select trainer to update, type 0 to exit"); foreach (Trainer t in trainers) { ConsoleUI.ShowLine(t); } } exit = ConsoleUI.GetInt(out int TrainerID, "give trainer id: "); if (exit) { return; } ConsoleUI.Clear(); Trainer trainer; try { trainer = trainers.Where(t => t.Id == TrainerID).First(); } catch (Exception) { ConsoleUI.ShowLine($"NO TRAINER FOUND WITH ID: {TrainerID}"); ConsoleUI.ReadKey(); return; } ConsoleUI.ShowLine($"you selected to edit trainer: {trainer.FirstName} {trainer.LastName}"); ConsoleUI.ShowLine($"select attribute to edit, type 0 anytime to exit"); ConsoleUI.ShowLine("1. Username"); ConsoleUI.ShowLine("2. Password"); ConsoleUI.ShowLine("3. First name"); ConsoleUI.ShowLine("4. Last name"); ConsoleUI.ShowLine("5. Subject"); exit = ConsoleUI.GetInt(out int choice); if (exit) { return; } ConsoleUI.Clear(); Object attribute; if (choice == 1 || choice == 2) { attribute = (UserAttributes)choice; } else { attribute = (TrainerAttributes)choice; } string newInput = ""; bool entitySpecificUpdate = false; switch (attribute) { case TrainerAttributes.Fname: exit = ConsoleUI.GetString(out newInput, "enter new first name: "); entitySpecificUpdate = true; break; case TrainerAttributes.Lname: exit = ConsoleUI.GetString(out newInput, "enter new last name: "); entitySpecificUpdate = true; break; case TrainerAttributes.Subject: exit = ConsoleUI.GetString(out newInput, "enter new subject: "); entitySpecificUpdate = true; break; case UserAttributes.Username: exit = ConsoleUI.GetString(out newInput, "enter new username: "******"enter new password: "******"trainer update failed"); } ConsoleUI.ShowLine("trainer updated successfully"); } catch (Exception e) { ConsoleUI.ShowLine(e.Message); ConsoleUI.ReadKey(); return; } } else { try { result = DBUser.UpdateUser(TrainerID, attribute, newInput); if (result == 0) { throw new Exception("user update failed"); } ConsoleUI.ShowLine("user updated successfully"); } catch (Exception e) { ConsoleUI.ShowLine(e.Message); ConsoleUI.ReadKey(); return; } } ConsoleUI.ReadKey(); }