Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public static void ShowStudentCourseGrades(User student)
        {
            var gradeStore = new GradeStore();

            List <Grade> grades = gradeStore.FindGradesForStudent(student).ToList();

            PrintGrades(grades);
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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();
            }
        }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 7
0
        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();
            }
        }