public function getCourseSubjectStudentResult(CourseSubjectStudent $course_subject_student, PropelPDO $con = null) { if (!$course_subject_student->getConfiguration()->isNumericalMark()) { $letter_average = LetterMarkAveragePeer::getLetterMarkAverageByCourseSubjectStudent($course_subject_student); $average = LetterMarkPeer::getLetterMarkByPk($letter_average->getLetterMarkAverage()); $average = $average->getValue(); } else { $average = $course_subject_student->getMarksAverage($con); } if ($this->isApproved($course_subject_student, $average, $con)) { return $this->createStudentApprovedCourseSubject($course_subject_student, $average, $con); } else { $student_disapproved_course_subject = new StudentDisapprovedCourseSubject(); $student_disapproved_course_subject->setCourseSubjectStudent($course_subject_student); $student_disapproved_course_subject->setExaminationNumber($this->getExaminationNumberFor($average, false, $course_subject_student)); return $student_disapproved_course_subject; } }