Exemplo n.º 1
0
        public int GetTotalStudentGradesFromACourse(Course course)
        {
            courseSubjectService = new CourseSubjectService();
            gradeService         = new GradeService();
            studentService       = new StudentService();

            List <Student> studentsRegistered = studentService.GetStudentsRegisteredInACourse(course);

            IEnumerable <StudentSubject> registeredStudentsSubjects = from s in studentsRegistered
                                                                      join ss in db.StudentSubjects
                                                                      on s.ID equals ss.StudentID
                                                                      select ss;

            int sumOfGrades = 0;

            foreach (StudentSubject studentSubject in registeredStudentsSubjects.ToList())
            {
                if (studentSubject.Student.isEnrolled && studentSubject.Grade != null)
                {
                    sumOfGrades = sumOfGrades + gradeService.ConvertGradeToInt(studentSubject.Grade);
                }
            }

            return(sumOfGrades);
        }
Exemplo n.º 2
0
        public List <CourseTeachersStudentsAverageGradesModelView> CreateCourseTeachersStudentsAverageGradesModelView(List <Course> courses)
        {
            teacherService        = new TeacherService();
            studentSubjectService = new StudentSubjectService();
            studentService        = new StudentService();

            int   numberOfTeacherFromACourse;
            int   numberOfEnrolledAndRegisteredStudentsInACourse;
            Grade?averageGrade;

            List <CourseTeachersStudentsAverageGradesModelView> viewModel = new List <CourseTeachersStudentsAverageGradesModelView>();

            foreach (Course course in courses)
            {
                numberOfTeacherFromACourse = teacherService.GetNumberOfTeachersPerCourse(course);

                numberOfEnrolledAndRegisteredStudentsInACourse = studentService
                                                                 .GetStudentsRegisteredInACourse(course).Count();

                averageGrade = studentSubjectService.GetStudentAverageGradePerCourse(course);

                CourseTeachersStudentsAverageGradesModelView CourseTeachersStudentsAverageGradesModelView
                    = new CourseTeachersStudentsAverageGradesModelView()
                    {
                    Course           = course,
                    numberOfTeachers = numberOfTeacherFromACourse,
                    numberOfStudents = numberOfEnrolledAndRegisteredStudentsInACourse,
                    averageGrade     = averageGrade
                    };

                viewModel.Add(CourseTeachersStudentsAverageGradesModelView);
            }

            return(viewModel);
        }
Exemplo n.º 3
0
        public Grade?GetStudentAverageGradePerCourse(Course course)
        {
            studentService        = new StudentService();
            subjectService        = new SubjectService();
            studentSubjectService = new StudentSubjectService();
            gradeService          = new GradeService();

            int   studentsAverageGrade;
            int   studentsAverageRounded;
            Grade?averageGrade;

            List <Subject> subjectsFromACourse = subjectService.GetSubjectsFromACourse(course);

            int numberOfSubjectsInACourse = subjectsFromACourse.Count();

            int numberOfStudentsRegisteredInACourse = studentService
                                                      .GetStudentsRegisteredInACourse(course).Count();

            int studentsTotalGrades = studentSubjectService
                                      .GetTotalStudentGradesFromACourse(course);

            int numberOfStudentSubjectsGraded = GetNumberOfStudentsSubjectsGradedInACourse(subjectsFromACourse);


            if (numberOfSubjectsInACourse != 0 && numberOfStudentSubjectsGraded != 0)
            {
                studentsAverageGrade =
                    studentsTotalGrades / numberOfStudentSubjectsGraded;
            }
            else
            {
                studentsAverageGrade = 0;
            }

            studentsAverageRounded = (int)Math.Round((decimal)studentsAverageGrade);

            averageGrade = gradeService.ConvertIntToGrade(studentsAverageRounded);


            return(averageGrade);
        }