/** * Metodo que lista as áreas de acordo com os filtros e usuário logado * @param Filtros $filtros Objeto do sistema de filtros * @return ResultSetHydrator Um objeto contendo as áreas encontradas */ public function listar(Filtros $filtros) { $sqlArea = new SqlAreaDaNatureza(); switch ($this->usuarioLogado->getPerfil()->getId()) { case Perfil::COORDENADOR: $coordenador = new Coordenador($this->usuarioLogado->getId()); return $sqlArea->deCoordenador($coordenador, $filtros); default: return $sqlArea->listarTodos($filtros); } }