/**
  * Método que lista todos os comentários feitos para o anexo informado
  * @param Anexos $anexo
  * @return ResultSetHydrator Um objeto contendo conversões de modelos com os dados da consulta
  * @throws Exception
  */
 public function comentariosDeAnexo(Anexos $anexo)
 {
     if (!is_int($anexo->getId())) {
         throw new Exception("O anexo informado não é válido", 11);
     }
     $select = new Select();
     $select->where(array("comentario_fk_anexo" => $anexo->getId()))->join("public.usuario", array("comentario_fk_usuario" => "pk_usuario"))->join("apostilas.anexos", array("pk_anexo" => "comentario_fk_anexo"));
     return $this->tableGatway->selectObj($select);
 }
 /**
  * Método que lista todos os comentários feitos para o anexo informado.
  *
  * @param Anexos $anexo
  *
  * @return ResultSetHydrator Um objeto contendo conversões de modelos com os dados da consulta
  *
  * @throws Exception
  */
 public function comentariosDeAnexo(Anexos $anexo)
 {
     if (!is_int($anexo->getId())) {
         throw new Exception('O anexo informado não é válido', 11);
     }
     $select = new Select();
     $select->where(array('comentario_fk_anexo' => $anexo->getId()))->join('public.usuario', array('comentario_fk_usuario' => 'pk_usuario'))->join('apostilas.anexos', array('pk_anexo' => 'comentario_fk_anexo'));
     return $this->tg->selectObj($select);
 }
Example #3
0
 /**
  * Método que retorna a disciplina de acordo com o anexo informado
  * @param \Kernel\Modelo\Livro\Anexos $anexo O anexo usado como filtro
  * @return \Kernel\Modelo\Disciplina\Disciplina A disciplina associada ao anexo informado
  * @throws \Kernel\Exception\DisciplinaException
  * @throws \Kernel\Exception\LivroException
  */
 public function deAnexo(\Kernel\Modelo\Livro\Anexos $anexo)
 {
     if (!$anexo->getId()) {
         throw new \Kernel\Exception\LivroException("O anexo informado é inválido");
     }
     $query = "select * from public.materia " . "inner join public.materia_vin on pk_materia=fk_materia " . "inner join apostilas.capitulo on pk_materia_vin=fk_materia_vin " . "inner join apostilas.conteudo on pk_capitulo=fk_capitulo " . "inner join apostilas.anexos_vin on apostilas.anexos_vin.fk_conteudo=pk_conteudo " . "or apostilas.anexos_vin.fk_capitulo=pk_capitulo " . "WHERE fk_anexo={$anexo->getId()} limit 1";
     $resultset = $this->tableGatway->querySelect($query);
     if (!$resultset->rowCount()) {
         throw new \Kernel\Exception\DisciplinaException("A disciplina informada não foi encontrada");
     }
     return $resultset->fetch();
 }
 /**
  * Método que retorna a avaliação do anexo informado
  * @param Anexos $anexo O anexo alvo da consulta
  * @param Usuario $aluno O aluno que fez a avaliação
  * @return AnexosAvaliacao Retorna a avaliação do anexo
  */
 public function get(Anexos $anexo, Usuario $aluno)
 {
     $ava = $this->tableGatway->select(array("anexos_ava_fk_anexo" => $anexo->getId(), "anexos_ava_fk_usuario" => $aluno->getId()));
     if ($ava->rowCount()) {
         return $ava->fetch();
     } else {
         return new AnexosAvaliacao();
     }
 }
Example #5
0
 /**
  * Método responsável por atualizar o anexo informado
  * @param Anexos $anexo O anexo contendo os novos dados a serem atualizados no banco
  * @return boolean Retorna TRUE em caso de sucesso ou FALSE em caso de erro
  * @throws LivroException
  */
 public function update(Anexos $anexo)
 {
     if (!is_int($anexo->getId())) {
         throw new Exception("O anexo informado não pode ser atualizado");
     }
     return $this->tablegateway->update(array("pk_anexo" => $anexo->getId()), array("anexo_desc" => $anexo->getDescricao(), "arquivo_nome" => $anexo->getNome(), "extensao" => $anexo->getExtensao(), "subtipo" => $anexo->getSubtipo(), "objetivo" => $anexo->getObjetivo(), "obs" => $anexo->getObs(), "fonte" => $anexo->getFonte(), "fonte_url" => $anexo->getFonteUrl()));
 }
Example #6
0
 /**
  * Metodo que associa o código do anexo ao código da série, conteúdo e/ou capítulo.
  *
  * @param int O código do anexo a ser vinculado
  * @param Anexos          $anexo        O anexo a ser viinculado
  * @param Serie           $serie        A série referente ao anexo
  * @param Topico|Capitulo $voidConteudo O tópico ou capítulo referente ao anexo
  *
  * @return bool Retorna TRUE em caso de sucesso ou FALSE em caso de falha
  *
  * @throws PDOException
  */
 public function insertVinculo(Anexos $anexo, Serie $serie, $voidConteudo)
 {
     if (!$anexo->getId()) {
         throw new LivroException('Nãp foi possível associar o anexo informado ao livro');
     }
     if ($voidConteudo instanceof Topico) {
         $query = 'INSERT INTO apostilas.anexos_vin (fk_anexo, fk_conteudo, fk_serie)
             values (:fk_anexo, :fk_conteudo, :fk_serie)';
         $prepare = $this->tg->getPDO()->prepare($query);
         $prepare->bindParam(':fk_conteudo', $voidConteudo->getId(), PDO::PARAM_INT);
     } elseif ($voidConteudo instanceof Capitulo) {
         $query = 'INSERT INTO apostilas.anexos_vin (fk_anexo, fk_serie, fk_capitulo)
             values (:fk_anexo, :fk_serie, :fk_capitulo)';
         $prepare = $this->tg->getPDO()->prepare($query);
         $prepare->bindParam(':fk_capitulo', $voidConteudo->getId(), PDO::PARAM_INT);
     } else {
         $this->tg->getPDO()->rollBack();
         throw new LivroException('Erro ao associar o anexo ao conteúdo');
     }
     $prepare->bindParam(':fk_anexo', $anexo->getId(), PDO::PARAM_INT);
     $prepare->bindParam(':fk_serie', $serie->getId(), PDO::PARAM_INT);
     return $prepare->execute();
 }