/** * 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(); }
/** * 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(); }