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); }
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); }
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); }