コード例 #1
0
 public function setEnrollment(Enrollment $enroll)
 {
     $enroll->addAttendance($this);
     $this->enrollment = $enroll;
 }
コード例 #2
0
 /**
  * Faz a matrícula do aluno $sid na turma $cid.
  * 
  * Se a matrícula já existe (tiver sido encerrada) ela é reabilidatada.
  * Caso contrário um novo $enrollment é criado
  */
 public function enrollAction()
 {
     $sid = $this->params('id', false);
     $request = $this->getRequest();
     if ($sid && $request->isPost()) {
         try {
             $data = $request->getPost();
             if (!is_numeric($data['studentClass'])) {
                 throw new RuntimeException('Turma não especificada');
             }
             $em = $this->getEntityManager();
             $enrollment = $em->getRepository('SchoolManagement\\Entity\\Enrollment')->findOneBy(array('class' => $data['studentClass'], 'registration' => $sid));
             if ($enrollment === null) {
                 $class = $em->getReference('SchoolManagement\\Entity\\StudentClass', $data['studentClass']);
                 $registration = $em->getReference('Recruitment\\Entity\\Registration', $sid);
                 $enrollment = new Enrollment();
                 $enrollment->setClass($class)->setRegistration($registration);
                 $class->addEnrollment($enrollment);
                 $em->persist($class);
             } else {
                 $enrollment->setEnrollmentEndDate(null);
                 $em->merge($enrollment);
             }
             $em->flush();
             $message = 'Matrícula realizada com sucesso.';
         } catch (Exception $ex) {
             if ($ex instanceof ConstraintViolationException) {
                 $message = 'Aluno já está matriculado nesta turma.';
             } else {
                 $message = 'Erro: ' . $ex->getMessage();
             }
         }
     } else {
         $message = 'Turma e/ou aluno não especificado(s).';
     }
     return new JsonModel(array('message' => $message));
 }
コード例 #3
0
 /**
  * 
  * @param Enrollment $enrollment
  * @return SchoolManagement\Entity\StudentClass
  */
 public function addEnrollment(Enrollment $enrollment)
 {
     $enrollment->setClass($this);
     $this->enrollments[] = $enrollment;
     return $this;
 }