Esempio n. 1
0
 /**
  * Método que lista as séries de acordo com os filtros informados 
  * e usuário logado
  * 
  * @param Filtros $filtros Objeto do sistema de filtros
  * 
  * @return ResultSetHydrator Objeto contendo as séries retornadas
  */
 public function listar(Filtros $filtros, Usuario $usrFiltro = null)
 {
     $sqlSerie = new SqlSerie();
     if ($usrFiltro instanceof Usuario) {
         $usuario = $usrFiltro;
     } else {
         $usuario = $this->usuarioLogado;
     }
     switch ($usuario->getPerfil()->getId()) {
         case Perfil::COORDENADOR:
             $coordenador = new Coordenador($usuario->getId());
             return $sqlSerie->deCoordenador($coordenador, $filtros);
         case Perfil::PROFESSOR:
             $professor = new Professor($usrFiltro->getId());
             return $sqlSerie->deProfessor($professor, $filtros);
         case Perfil::ALUNO:
             $aluno = new Aluno($usuario->getId());
             return $sqlSerie->deAluno($aluno, $filtros);
         default:
             return $sqlSerie->listarTodos($filtros);
     }
 }