public function closeCourseSubjectStudentExamination(CourseSubjectStudentExamination $course_subject_student_examination, PropelPDO $con = null)
 {
     $con = is_null($con) ? Propel::getConnection() : $con;
     $course_subject_student = $course_subject_student_examination->getCourseSubjectStudent();
     // si aprueba la mesa de examen
     if ($course_subject_student_examination->getMark() >= 6) {
         // se crea el approved course subject
         $sacs = StudentApprovedCourseSubjectPeer::retrieveForCourseSujectStudent($course_subject_student_examination->getCourseSubjectStudent());
         if (is_null($sacs)) {
             $result = new StudentApprovedCourseSubject();
             $result->setCourseSubjectId($course_subject_student->getCourseSubjectId());
             $result->setStudentId($course_subject_student->getStudentId());
             $result->setSchoolYearId($course_subject_student_examination->getExaminationSubject()->getExamination()->getSchoolYearId());
             $average = (string) (($course_subject_student->getMarksAverage() + $course_subject_student_examination->getMark()) / 2);
             $average = sprintf('%.4s', $average);
             // se guarda la NOTA FINAL de la materia
             if ($course_subject_student->getCourseSubject()->getCareerSubjectSchoolYearId() == $this->getCurrentHistoriaDelArte()->getId()) {
                 $average = $course_subject_student_examination->getMark();
             }
             $result->setMark($average);
             $result->save($con);
             $this->closeCourseSubjectStudent($result, $con, $course_subject_student);
         }
     } else {
         // TODO: arreglar esto: pedir a la configuración
         // Pasa de diciembre a febrero (se copia el course_subject_student_examination con examination_number + 1)
         $student_repproved_course_subject = StudentRepprovedCourseSubjectPeer::retrieveCourseSubjectStudent($course_subject_student);
         if (is_null($student_repproved_course_subject)) {
             // se crea una previa
             $student_repproved_course_subject = new StudentRepprovedCourseSubject();
             $student_repproved_course_subject->setCourseSubjectStudentId($course_subject_student->getId());
             $student_repproved_course_subject->save($con);
         }
     }
 }