コード例 #1
0
ファイル: UnidadeAux.php プロジェクト: andersongimino/area51
 /**
  * Método que lista todas as unidades de acordo com o usuário logado
  * 
  * @param Filtros $filtros Objeto do sistema de filtros
  * @param Usuario $usrFiltros Caso seja informado, usa este usuário para a filtragem
  * 
  * @return ResultSetHydrator Um objeto contendo a resposta da consulta
  */
 public function listar(Filtros $filtros, Usuario $usrFiltros = null)
 {
     $sqlUnidade = new SqlUnidade();
     //Definindo o usuário para a filtragem
     if ($usrFiltros instanceof Usuario) {
         $usuario = $usrFiltros;
     } else {
         $usuario = $this->usuarioLogado;
     }
     //Fazendo a consulta de acordo com o usuário logado
     switch ($usuario->getPerfil()->getId()) {
         case Perfil::ALUNO:
             //Lista as unidades do aluno logado
             $aluno = new Aluno($usuario->getId());
             return $sqlUnidade->deAluno($aluno);
         case Perfil::RESPONSAVEL:
             //Lista as unidades do responsável logado
             $responsavel = new Responsavel($usuario->getId());
             return $sqlUnidade->deResponsavel($responsavel);
         case Perfil::PROFESSOR:
             //Lista de unidades do professor logado
             $professor = new Professor($usuario->getId());
             return $sqlUnidade->deProfessor($professor);
         case Perfil::COORDENADOR:
             //Listando as unidades do coordenador logado
             $coordenador = new Coordenador($usuario->getId());
             return $sqlUnidade->deCoordenador($coordenador);
         default:
             //Lista todas as unidades, independente de tipo de usuário
             return $sqlUnidade->listarTodos(new Filtros());
     }
 }