/** * Método que retorna os alunos de acordo com o * usuário logado e os filtros informados * * @param Filtros $filtros Objeto do sistema de filtros * * @return ResultSetHydrator Um objeto contendo os alunos retornados da consulta */ public function listar(Filtros $filtros) { $sqlAluno = new SqlAluno(); switch ($this->usuarioLogado->getPerfil()->getId()) { case Perfil::ADMIN: case Perfil::GESTOR: return $sqlAluno->listarTodos($filtros); case Perfil::COORDENADOR: $coordenador = new Coordenador($this->usuarioLogado->getId()); return $sqlAluno->deCoordenador($coordenador, $filtros); case Perfil::RESPONSAVEL: default: break; } }