Ejemplo n.º 1
0
 /**
  * Método que retorna um determinado professor caso ele esteja associado ao coordenador infromado
  * @param \Kernel\Modelo\Perfis\Coordenador $coordenador O coordenado usado como filtro
  * @param \Kernel\Modelo\Perfis\Professor $professor Um objeto contendo o id do professor pedido.
  * Serve como modelo em caso de herança
  * @return \Kernel\Modelo\Perfis\Professor Um objeto contendo os dados do professor informado
  * @throws \Kernel\Exception\UsuarioException
  */
 public function getDeCoordenador(\Kernel\Modelo\Perfis\Coordenador $coordenador, \Kernel\Modelo\Perfis\Professor $professor)
 {
     if (!$coordenador->getId()) {
         throw new \Kernel\Exception\UsuarioException("O coordenador informado é inválido");
     }
     if (!$professor->getId()) {
         throw new \Kernel\Exception\UsuarioException("O professor informado é inválido");
     }
     $select = new \GGE\Lib\Sql\Querys\Select();
     $resultset = $this->gatWayUsuario->selectObj($select->join($professor->getPerfil()->getTabela(), array("pk_usuario" => "{$professor->getPerfil()->getTabela()}.fk_usuario"))->join("public.grade", array("public.grade.fk_usuario_professor" => "pk_usuario_professor"))->join("public.turma", array("pk_turma" => "public.grade.fk_turma"))->join("public.turma_vin", array("public.turma_vin.fk_turma" => "pk_turma"))->join("public.coordenacao", array("pk_coordenacao" => "public.turma_vin.fk_coordenacao"))->join("public.coordenacao_vin", array("public.coordenacao_vin.fk_coordenacao" => "pk_coordenacao"))->join("public.usuario_tipo_vin", array("pk_usuario_tipo_vin" => "fk_usuario_tipo_vin"))->where("public.usuario_tipo_vin.fk_usuario={$coordenador->getId()} " . "and pk_usuario={$professor->getId()}")->limit(1));
     if (!$resultset->rowCount()) {
         throw new \Kernel\Exception\UsuarioException("O professor informado não foi encontrado, " . "esta desativado ou não esta associado ao coordendor");
     }
     return $resultset->fetch();
 }
Ejemplo n.º 2
0
 /**
  * Método que retorna um determinado professor caso ele esteja 
  * associado ao coordenador infromado
  * @param Coordenador $coordenador O coordenado usado como filtro
  * @param Professor $professor Um objeto contendo o id do professor pedido.
  * Serve como modelo em caso de herança
  * @return Professor Um objeto contendo os dados do professor informado
  * @throws UsuarioException
  */
 public function getDeCoordenador(Coordenador $coordenador, Professor $professor)
 {
     if (!$coordenador->getId()) {
         throw new UsuarioException("O coordenador informado é inválido");
     }
     if (!$professor->getId()) {
         throw new UsuarioException("O professor informado é inválido");
     }
     $select = new Select();
     $resultset = $this->tg->selectObj($select->join($professor->getPerfil()->getTabela(), array("fk_usuario" => "pk_usuario"))->join("public.grade", array("public.grade.fk_usuario_professor" => "pk_usuario_professor"))->join("public.turma", array("pk_turma" => "public.grade.fk_turma"))->join("public.turma_vin", array("public.turma_vin.fk_turma" => "pk_turma"))->join("public.coordenacao", array("pk_coordenacao" => "public.turma_vin.fk_coordenacao"))->join("public.coordenacao_vin", array("public.coordenacao_vin.fk_coordenacao" => "pk_coordenacao"))->join("public.usuario_tipo_vin", array("pk_usuario_tipo_vin" => "fk_usuario_tipo_vin"))->where("public.usuario_tipo_vin.fk_usuario=" . "{$coordenador->getId()} " . "and pk_usuario={$professor->getId()}")->limit(1));
     if (!$resultset->rowCount()) {
         throw new UsuarioException("O professor informado não " . "foi encontrado, " . "esta desativado ou não esta associado ao coordendor");
     }
     return $resultset->fetch(new Professor());
 }