public function gravaDadosTopico(Topico $topico){ if (strlen($topico->getId())>0){ $query = " UPDATE tbl_topico SET disciplina = $topico->Xdisciplina, descricao = $topico->Xdescricao WHERE topico = ".$topico->getId(); }else{ $query = "INSERT INTO tbl_topico ( disciplina, descricao ) VALUES ( $topico->Xdisciplina, $topico->Xdescricao )"; } $banco = $this->getBancoDados(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao atualizar / inserir Topico. ($query) "); } if (strlen($topico->getId())==0){ $topico->setId($banco->insert_id()); } }
/** * Método que verifica se o tópico informado é o ultimo ou não * @param Topico $topico O tópico a ser testado * @return boolean Retorna TRUE caso seja o ultimo e FALSE * em caso contrário */ public function isUltimo(Topico $topico) { if (!$topico->getId() || !$topico->getCapitulo()->getId()) { throw new LivroException("O tópico informado é inválido"); } $query = "SELECT pk_conteudo FROM apostilas.conteudo "; $query .= "inner join apostilas.capitulo on pk_capitulo=fk_capitulo "; $query .= "inner join materia_vin on pk_materia_vin=fk_materia_vin "; $query .= "WHERE fk_capitulo={$topico->getCapitulo()->getId()} "; $query .= "and pk_conteudo>{$topico->getId()} "; $query .= "order by (sequencial_topico) limit 1"; return !(bool) $this->tg->querySelect($query)->rowCount(); }
public function recuperarPerguntaTopicoDAO(Topico $topico, $dificuldade, $qtde_perguntas = 1, $perguntas_inseridas = array()){ $PerguntaDAO = new PerguntaDAO(); $PerguntaDAO->setBancoDados($this->banco); return $PerguntaDAO->recuperarTodosPorTopico($topico->getId(), $dificuldade, $qtde_perguntas, $perguntas_inseridas); }