private static void PrintCourseGrades(Course course) { GradeStore gradeStore = new GradeStore(); UserStore userStore = new UserStore(); List <Grade> grades = gradeStore.FindByCourseId(course.CourseId).ToList(); Console.Clear(); Console.WriteLine( "Student-id".PadRight(12) + "Student".PadRight(40) + "Betyg"); Console.WriteLine(new string('-', Console.WindowWidth)); foreach (Grade grade in grades) { User student = userStore.FindById(grade.StudentId); Console.WriteLine( grade.StudentId.PadRight(12) + student.FullName().PadRight(40) + grade.Result ); } UserInput.WaitForContinue(); }
public void Initialize() { _testUser = new User { UserName = "******" }; _testCourseGrade = new Grade { CourseId = "oop1", StudentId = _testUser.UserName, Result = GradeLevel.VG }; _testGoalGrade = new Grade { CourseId = "oop1", StudentId = _testUser.UserName, CourseGoal = "1", Result = GradeLevel.G }; var otherGrade = new Grade { CourseId = "shouldnotbefound", StudentId = "xyxy", CourseGoal = "5", Result = GradeLevel.IG }; _testGradeList = new List <Grade> { _testCourseGrade, _testGoalGrade, otherGrade }; _testStore = new GradeStore(_testGradeList); }
public static void ShowStudentCourseGrades(User student) { var gradeStore = new GradeStore(); List <Grade> grades = gradeStore.FindGradesForStudent(student).ToList(); PrintGrades(grades); }
public static void ShowStudentCourseGoals(User student) { var goalStore = new GoalStore(); Course course = AskForCourseById(); if (course == null) { Console.WriteLine("Kursen finns inte"); UserInput.WaitForContinue(); return; } List <Goal> goals = goalStore.FindByCourseId(course.CourseId).ToList(); Console.Clear(); Console.WriteLine($"Kursmål för {course.CourseName}"); Console.WriteLine(new string('-', Console.WindowWidth)); Console.WriteLine(); if (goals.Count > 0) { GradeStore gradeStore = new GradeStore(); List <Grade> grades = gradeStore.FindGradesForStudent(student, course).ToList(); Console.WriteLine("Den studerande ska:"); foreach (Goal goal in goals) { Grade grade = grades.SingleOrDefault(g => g.CourseGoal == goal.GoalId); Console.WriteLine($" {goal.GoalId}.".PadRight(5) + goal.Description); if (grade == null) { Console.WriteLine(" Ej betygsatt"); } else { Console.WriteLine($@" Betyg: {grade.Result}"); } } } else { Console.WriteLine("Kursen har inga mål."); } UserInput.WaitForContinue(); }
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(); } }
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 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(); } }