/**
  * Método que retorna um conteúdo especifico de uma série e disciplina definida.
  * 
  * @param Serie      $serie      A série associada ao conteúdo
  * @param Disciplina $disciplina A disciplina associada ao conteúdo
  * 
  * @return ConteudoDirecionado Um objeto contendo os dados do conteúdo direcionado
  */
 public function deSerieDisciplina(Serie $serie, Disciplina $disciplina)
 {
     $this->defColInteger(array("pk_serie", "pk_materia"));
     $return = $this->tg->selectObj($this->select()->where(array("pk_serie" => $serie->getId(), "pk_materia" => $disciplina->getId()))->limit(1));
     if (!$return->rowCount()) {
         throw new UnidadeException("Não foi encontrada uma série " . "associada a disciplina informada");
     }
     return $return->fetch();
 }
예제 #2
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 \Kernel\Modelo\Unidade\Serie $serie A série referente ao anexo
  * @param Topico|Capitulo $voidConteudo O tópico ou capítulo referente ao anexo
  * @return boolean Retorna TRUE em caso de sucesso ou FALSE em caso de falha
  * @throws \PDOException
  */
 public function insertVinculo(Anexos $anexo, \Kernel\Modelo\Unidade\Serie $serie, $voidConteudo)
 {
     if (!$anexo->getId()) {
         throw new Exception("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)\n                values (:fk_anexo, :fk_conteudo, :fk_serie)";
         $prepare = $this->tablegateway->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)\n                values (:fk_anexo, :fk_serie, :fk_capitulo)";
         $prepare = $this->tablegateway->getPDO()->prepare($query);
         $prepare->bindParam(':fk_capitulo', $voidConteudo->getId(), PDO::PARAM_INT);
     } else {
         $this->tablegateway->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();
 }