Exemplo n.º 1
0
 /**
  * Método que retorna um aluno de acordo com o código informado 
  * e o usuário logado.
  *
  * @param int   $id             O código do aluno
  * @param Aluno $especializacao Case seja informado, usa como 
  *                              modelo para o retorno
  *
  * @return Aluno Um objeto do tipo aluno contendo os dados do 
  *               aluno informado
  *
  * @throws UsuarioException
  */
 public function getAluno($id, Aluno $especializacao = null)
 {
     $sqlALuno = new SqlAluno();
     $alunoModelo = new Aluno();
     $aluno = null;
     if (!is_null($especializacao)) {
         $alunoModelo = $especializacao;
     }
     switch ($this->perfilLogado) {
         case Perfil::ALUNO:
             $aluno = $sqlALuno->get($this->idLogado, $alunoModelo);
             break;
         case Perfil::COORDENADOR:
             $alunoModelo->setId($id);
             $coordenador = new Coordenador($this->idLogado);
             $aluno = $sqlALuno->getDeCoordenador($coordenador, $alunoModelo);
             break;
         default:
             $aluno = $sqlALuno->get($id, $alunoModelo);
             break;
     }
     return $aluno;
 }