public static Course AskForCourseById() { var courseStore = new CourseStore(); Course course; bool loop = true; do { Console.Clear(); Console.WriteLine("Tryck enter för att avbryta"); string input = UserInput.GetInput <string>("Ange kurs-id:"); if (input == string.Empty) { return(null); } course = courseStore.FindById(input); if (course == null) { Console.WriteLine("Kurs med det id:t existerar inte"); UserInput.WaitForContinue(); } else { loop = false; } } while (loop); return(course); }
public static void ShowTeacherCourses(User teacher) { CourseStore courseStore = new CourseStore(); List <Course> courses = courseStore.All().ForTeacher(teacher).ToList(); ListCourses(courses); }
private static void ListAllCourses() { CourseStore courseStore = new CourseStore(); List <Course> courseList = courseStore.All().ToList(); Console.Clear(); Console.WriteLine("Lista över alla kurser"); Console.WriteLine(); ListCourses(courseList); }
private static void ChangeTeacherForCourses() { UserStore userStore = new UserStore(); CourseStore courseStore = new CourseStore(); Console.Clear(); Console.WriteLine("Tryck enter för att avbryta"); string courseId = UserInput.GetInput <string>("Kurs-id:"); if (courseId == string.Empty) { return; } Course course = courseStore.FindById(courseId); if (course == null) { Console.WriteLine("Kursen finns inte"); UserInput.WaitForContinue(); return; } User currentTeacher = userStore.FindById(course.CourseTeacher); if (currentTeacher == null) { Console.WriteLine("Kursen saknar lärare"); } else { Console.WriteLine($"Kurslärare: {currentTeacher.FullName()} ({currentTeacher.UserName})"); } string newTeacherId = UserInput.GetInput <string>("ID för ny lärare:"); User newTeacher = userStore.FindById(newTeacherId); if (newTeacher == null) { Console.WriteLine("Användaren finns inte"); } else if (newTeacher.UserLevel != UserLevel.Teacher) { Console.WriteLine("Användaren är inte en lärare"); } else { course.CourseTeacher = newTeacher.UserName; courseStore.Save(); Console.WriteLine("Kursens lärare uppdaterad"); } UserInput.WaitForContinue(); }
public bool AddCourse(Course course, CourseStore courseStore) { bool courseExists = HasCourse(course); if (courseExists) { return false; } List<string> courseList = GetCourseList(); courseList.Add(course.CourseId); CourseString = string.Join(",", courseList); return true; }
private static void TeacherStaffingCurrentCourses() { var courseStore = new CourseStore(); List <Course> currentCourses = courseStore.GetCurrentCourses().ToList(); Console.Clear(); Console.WriteLine("Lista över pågående kurser"); Console.WriteLine(); ListCourses(currentCourses); }
private static void TeacherStaffingFutureCourses() { var courseStore = new CourseStore(); List <Course> futureCourses = courseStore.GetFutureCourses().ToList(); Console.Clear(); Console.WriteLine("Lista över framtida kurser"); Console.WriteLine(); ListCourses(futureCourses); }
private static void TeacherStaffingUnmannedCourses() { var courseStore = new CourseStore(); List <Course> unmannedCourses = courseStore.GetUnmannedCourses().ToList(); Console.Clear(); Console.WriteLine("Lista över obemannade kurser"); Console.WriteLine(); ListCourses(unmannedCourses); }
private static void TeacherStaffingArrangedCourses() { var courseStore = new CourseStore(); List <Course> unmannedCourses = courseStore.GetAllAgreedCourses().ToList(); Console.Clear(); Console.WriteLine("Lista över avtalade kurser"); Console.WriteLine(); ListCourses(unmannedCourses); }
private static void TeacherStaffingFinishedCourses() { var courseStore = new CourseStore(); List <Course> finishedCourses = courseStore.GetFinishedCourses().ToList(); Console.Clear(); Console.WriteLine("Lista över avslutade kurser"); Console.WriteLine(); ListCourses(finishedCourses); }
private static void ListCourses(IEnumerable <string> courseList) { var courseStore = new CourseStore(); var courses = new List <Course>(); foreach (string courseId in courseList) { Course course = courseStore.FindById(courseId); courses.Add(course); } ListCourses(courses); }
private static IEnumerable <Course> GetCourses(User user, CourseStore courseStore) { var courses = new List <Course>(); if (user.HasLevel(UserLevel.Teacher)) { courses = courseStore.FindByTeacherId(user.UserName).ToList(); } else if (user.HasLevel(UserLevel.EducationSupervisor)) { courses = courseStore.All().ToList(); } return(courses); }
public CourseStoreTest() { var fake = new Faker(); _courseDto = new CourseDto { Name = fake.Random.Words(), Description = fake.Lorem.Paragraph(), Workload = fake.Random.Double(50, 1000), TargetAudience = "Student", Price = fake.Random.Double(1000, 2000) }; _courseRepositoryMock = new Mock <ICourseRepository>(); _courseStore = new CourseStore(_courseRepositoryMock.Object); }
public void Initialize() { _testClass = new EducationClass() { ClassId = "testclass", Description = "The Joy of Painting with Bob Ross", EducationSupervisorId = "bobross" }; var studentList = new List <string> { "adam", "bertil", "caesar", "david", "erik", "johndoe" }; _testClass.SetStudentList(studentList); _testCourse = new Course { CourseId = "oop1", CourseName = "Objektorienterad Programmering 1", CourseTeacher = "pontus", StartDate = DateTime.Today, EndDate = DateTime.Today }; _testUser = new User { UserName = "******" }; _testAddUser = new User { UserName = "******" }; var courseList = new List <Course>(); courseList.Add(_testCourse); _courseStore = new CourseStore(courseList); }
public void Initialize() { List <Course> courseList = new List <Course>(); courseList.Add(new Course { CourseId = "oop1", CourseName = "Pågående kurs", CourseTeacher = "pontus", StartDate = DateTime.Today.Subtract(new TimeSpan(7)), EndDate = DateTime.Today.AddDays(7) }); courseList.Add(new Course { CourseId = "oop2", CourseName = "Avslutad kurs", CourseTeacher = "pontus", StartDate = DateTime.Parse("2016-01-01"), EndDate = DateTime.Parse("2016-01-30") }); courseList.Add(new Course { CourseId = "oop3", CourseName = "Framtida bemannad kurs", CourseTeacher = "pontus", StartDate = DateTime.Today.AddDays(7), EndDate = DateTime.Today.AddDays(30) }); courseList.Add(new Course { CourseId = "oop4", CourseName = "Framtida obemannad kurs", CourseTeacher = string.Empty, StartDate = DateTime.Today.AddDays(7), EndDate = DateTime.Today.AddDays(30) }); testCourseStore = new CourseStore(courseList); }
public static void ShowStudentsForCourse(User user) { bool isTeacher = user.HasLevel(UserLevel.Teacher); do { CourseStore courseStore = new CourseStore(); EducationClassStore classStore = new EducationClassStore(); Console.Clear(); Console.WriteLine("Visa klasslista för kurs"); Console.WriteLine(); Console.WriteLine("Tryck enter för att avbryta."); string courseName = UserInput.GetInput <string>("Ange kurs-id:"); if (courseName == string.Empty) { break; } Course course = courseStore.FindById(courseName); if (course == null) { Console.WriteLine("Finns ingen kurs med det namnet"); Console.WriteLine(); } else if (isTeacher && course.CourseTeacher != user.UserName) { Console.WriteLine("Du är ej lärare för den kursen."); Console.WriteLine(); } else { EducationClass klass = classStore.FindByCourseId(course.CourseId); List <string> studentNames = klass.GetStudentList(); UserManagerPresenter.PrintStudentList(studentNames); } } while (true); }
private static void DeleteCourse() { CourseStore courseStore = new CourseStore(); GradeStore gradeStore = new GradeStore(); Console.Clear(); Console.WriteLine("Radera kurs"); Console.WriteLine(); string courseId = UserInput.GetInput <string>("Kurs-id:"); bool courseExists = courseStore.FindById(courseId) != null; if (!courseExists) { Console.WriteLine("Kursen finns inte"); return; } Course courseToRemove = courseStore.FindById(courseId); List <Course> courseList = courseStore.All().ToList(); List <Grade> grades = gradeStore.FindByCourseId(courseToRemove.CourseId).ToList(); bool confirm = UserInput.AskConfirmation($"Vill du radera {courseToRemove.CourseName}?"); if (confirm && grades.Count == 0) { courseList.Remove(courseToRemove); courseStore = new CourseStore(courseList); courseStore.Save(); Console.WriteLine("Kursen raderad"); } else { Console.WriteLine("Kursen har betygsatta studenter"); UserInput.WaitForContinue(); } }
private static void PrintGrades(IEnumerable <Grade> grades) { var courseStore = new CourseStore(); Console.Clear(); Console.WriteLine( "Kurs-id".PadRight(10) + "Kursnamn".PadRight(40) + "Betyg".PadRight(10) ); Console.WriteLine(new string('-', Console.WindowWidth)); foreach (Grade grade in grades) { Course course = courseStore.FindById(grade.CourseId); Console.WriteLine( course.CourseId.PadRight(10) + course.CourseName.PadRight(40) + grade.Result); } UserInput.WaitForContinue(); }
public bool AddCourse(string courseId, CourseStore courseStore) { Course newCourse = courseStore.FindById(courseId); bool result = AddCourse(newCourse, courseStore); return result; }
public static void GradeStudentGoal(User grader) { var courseStore = new CourseStore(); var gradeStore = new GradeStore(); var goalStore = new GoalStore(); List <Course> courses = GetCourses(grader, courseStore).ToList(); Course course = CoursePresenter.AskForCourseById(); if (course == null) { return; } if (grader.HasLevel(UserLevel.Teacher) && course.CourseTeacher != grader.UserName) { Console.WriteLine("Du är ej lärare för den kursen"); UserInput.WaitForContinue(); return; } User student = UserManagerPresenter.SearchForUser(UserLevel.Student); EducationClass klass = student.GetClass(); if (klass == null) { Console.WriteLine("Användaren är inte en student"); UserInput.WaitForContinue(); return; } if (!klass.HasCourse(course.CourseId)) { Console.WriteLine("Klassen läser ej den kursen"); UserInput.WaitForContinue(); return; } List <Goal> goals = goalStore.FindByCourseId(course.CourseId).ToList(); foreach (Goal g in goals) { Console.WriteLine($" {g.GoalId}: {g.Description.Truncate(95)}"); } Console.WriteLine(); string goalToGrade = UserInput.GetInput <string>("Välj mål att betygsätta:"); Goal goal = goals.SingleOrDefault(g => g.GoalId == goalToGrade); if (goal == null) { Console.WriteLine($"Finns inget mål med id {goalToGrade}"); UserInput.WaitForContinue(); return; } GradeLevel gradeLevel = AskForGrade(); var grade = new Grade { StudentId = student.UserName, CourseId = course.CourseId, CourseGoal = goal.GoalId, Result = gradeLevel }; Console.WriteLine(); Console.WriteLine($"Student: {student.FullName()}"); Console.WriteLine($"Kursmål: {goal.Description.Truncate(95)}"); Console.WriteLine($"Betyg: {grade.Result}"); bool confirm = UserInput.AskConfirmation("Spara betyg?"); if (confirm) { Grade existingGrade = gradeStore.FindById(grade.GradeId); if (existingGrade == null) { gradeStore.AddItem(grade); gradeStore.Save(); } else { gradeStore.GradeStudent(student, grade); gradeStore.Save(); } } Console.WriteLine(); UserInput.WaitForContinue(); }
public Course Create(IDataStore <Course> dataStore, Course existingCourse = null) { CourseStore courseStore = new CourseStore(); UserStore userStore = new UserStore(); Course newCourse = new Course(); string courseId; bool courseExists; do { Console.Clear(); courseId = UserInput.GetInput <string>("Kurs-id:"); courseExists = courseStore.FindById(courseId) != null; if (courseExists) { Console.WriteLine("Kurs-id redan använt"); UserInput.WaitForContinue(); } else { string courseName = UserInput.GetInput <string>("Kursbeskrivning:"); Console.WriteLine("Skriv datum enligt YYYY-MM-DD"); DateTime courseStartDate = UserInput.GetDate("Startdatum:"); DateTime courseEndDate = UserInput.GetDate("Slutdatum:"); int coursePoints = UserInput.GetInput <int>("YH-poäng:"); string courseTeacher = string.Empty; bool loop = true; do { Console.WriteLine("Lämna fältet tomt för att skapa kurs utan lärare"); string teacherName = UserInput.GetInput <string>("Lärare:"); User teacher = userStore.FindById(teacherName); if (teacherName == string.Empty) { courseTeacher = string.Empty; break; } else if (teacher == null) { Console.WriteLine("Användaren existerar inte"); } else if (!teacher.HasLevel(UserLevel.Teacher)) { Console.WriteLine("Användaren är inte en lärare"); } else { courseTeacher = teacher.UserName; break; } } while (loop); newCourse = new Course { CourseId = courseId, CourseName = courseName, StartDate = courseStartDate, EndDate = courseEndDate, CourseTeacher = courseTeacher, CoursePoints = coursePoints }; Course course = courseStore.AddItem(newCourse); courseStore.Save(); Console.WriteLine("Kursen skapad"); UserInput.WaitForContinue(); return(course); } return(newCourse); } while (courseExists); }
private static void EditCourse() { CourseStore courseStore = new CourseStore(); UserStore userStore = new UserStore(); Console.Clear(); Console.WriteLine("Redigera kurs"); Console.WriteLine(); string courseId = UserInput.GetInput <string>("Kurs-id:"); Course existingCourse = courseStore.FindById(courseId); if (existingCourse == null) { Console.WriteLine("Kursen finns inte"); return; } Course courseToEdit = courseStore.FindById(courseId); Console.WriteLine("Tryck enter för att behålla gamla värdet"); string newCourseId = UserInput.GetInput <string>("Nytt kurs-id:"); string newCourseName = UserInput.GetInput <string>("Nytt kursnamn:"); string newCourseTeacher = UserInput.GetInput <string>("Ny lärare:"); Console.WriteLine("TODO: Nytt datum måste anges. YYYY-MM-DD"); DateTime newCourseStartDate = UserInput.GetDate("Nytt startdatum:"); DateTime newCourseEndDate = UserInput.GetDate("Nytt slutdatum:"); if (newCourseId == string.Empty) { newCourseId = courseToEdit.CourseId; } if (newCourseName == string.Empty) { newCourseName = courseToEdit.CourseName; } if (newCourseTeacher == string.Empty) { newCourseTeacher = courseToEdit.CourseTeacher; } Course newCourse = new Course { CourseId = newCourseId, CourseName = newCourseName, CourseTeacher = newCourseTeacher, StartDate = newCourseStartDate, EndDate = newCourseEndDate }; Console.WriteLine("Ändra från:"); PrintCourseInfo(courseToEdit, userStore); Console.WriteLine("Ändras till:"); PrintCourseInfo(newCourse, userStore); Console.WriteLine(); bool confirm = UserInput.AskConfirmation("Vill du spara ändringarna?"); if (confirm) { courseStore.Remove(existingCourse.CourseId); courseStore.AddItem(newCourse); courseStore.Save(); Console.WriteLine("Ändringar sparade."); } }
public CourseController(CourseStore store) { _store = store; }
public static void GradeStudentInCourse(User grader) { var userStore = new UserStore(); var educationClassStore = new EducationClassStore(); var courseStore = new CourseStore(); var gradeStore = new GradeStore(); List <string> courseList; Course course; User student; Console.Clear(); Console.WriteLine("Betygsätt student"); Console.WriteLine(); List <Course> courses = GetCourses(grader, courseStore).ToList(); do { Console.WriteLine("Tryck enter för att avbryta"); string studentName = UserInput.GetInput <string>("Ange student-id:"); if (studentName == string.Empty) { return; } student = userStore.FindById(studentName); if (student == null) { Console.WriteLine("Finns ingen student med det id:t"); } else { EducationClass studentClass = educationClassStore.FindByStudentId(student.UserName); courseList = studentClass.GetCourseList(); break; } } while (true); do { Console.WriteLine("Tryck enter för att avbryta"); string courseName = UserInput.GetInput <string>("Ange kurs-id:"); if (courseName == string.Empty) { return; } if (courses.Exists(c => c.CourseId == courseName)) { if (courseList.Contains(courseName)) { course = courseStore.FindById(courseName); break; } Console.WriteLine("Studentens klass läser inte kursen"); UserInput.WaitForContinue(); } else { Console.WriteLine("Kursen finns inte eller du är inte lärare för den"); UserInput.WaitForContinue(); } } while (true); GradeLevel gradeLevel = AskForGrade(); Console.WriteLine($"Student: {student.FullName()} ({student.UserName})"); Console.WriteLine($"Kurs: {course.CourseName} ({course.CourseId})"); Console.WriteLine($"Betyg: {gradeLevel}"); bool confirm = UserInput.AskConfirmation("Betygsätt student?"); if (confirm) { var grade = new Grade { CourseId = course.CourseId, StudentId = student.UserName, Result = gradeLevel }; gradeStore.GradeStudent(student, grade); gradeStore.Save(); } }
public CoursesController(CourseStore courseStore) { this.courseStore = courseStore; }
public static void CourseManagementMenu(User user) { Console.Clear(); Console.WriteLine("Hantera kurser"); Console.WriteLine(); Console.WriteLine("0. Tillbaka till föregående meny"); Console.WriteLine("1. Skapa kurs"); Console.WriteLine("2. Ta bort kurs"); Console.WriteLine("3. Ändra lärare för en kurs"); Console.WriteLine("4. Ändra kurs"); Console.WriteLine("5. Kurslistor"); Console.WriteLine("6. Visa klasslista för en kurs"); Console.WriteLine("7. Visa alla betyg för en kurs"); Console.WriteLine("8. Öppna kursplan"); Console.WriteLine("9. Kursmål"); Console.WriteLine(); Console.Write("Ditt val: "); string menuChoice = UserInput.GetInput <string>(); switch (menuChoice) { case "0": return; case "1": var creator = new CourseCreator(); var courseStore = new CourseStore(); creator.Create(courseStore); break; case "2": CoursePresenter.DeleteCourse(); break; case "3": ChangeTeacherForCourses(); break; case "4": CoursePresenter.EditCourse(); break; case "5": CourseSubMenuCourseLists(); break; case "6": ShowStudentsForCourse(user); break; case "7": ShowGradesForCourse(); break; case "8": ShowCoursePlan(user); break; case "9": CourseSubMenuGoals(); break; } }
public DocumentController() { courseStore = new CourseStore(); }
public CoursesController(CourseStore courseStore) { _store = courseStore; }
public DocumentsController() { _store = new CourseStore(); }
public DocumentsController(CourseStore store) { _store = store; }