public function inscrever_trabalho(\Entity\Trabalho $trabalho, $id_autor_princial, $id_curso, $email_trabalho) { //Verifica se quantidade de trabalhos desse autor <2. //..... //Verifica se modalidade permitida. //..... //Jean <<<<<<<<<<<< //Consulta o nível do curso do autor principal. //...... $nivel = 0; //-1 para inscrever um novo trabalho. $trabalho->setIdTrabalho(-1); $trabalho->setNivel($nivel); $trabalho->setSeqSessao(0); $trabalho->setStatus(STATUS_TRAB_PENDENTE); //START TRANSACTION ????? $this->salvar_dados_trabalho($trabalho); //echo $trabalho->getIdTrabalho()." ".$id_autor_princial." ".$id_curso; //die(); //Insere autor principal na tabela trabalho_autor_curso $this->insere_autor($trabalho->getIdTrabalho(), $id_autor_princial, $id_curso, $email_trabalho); //END TRAnSACTION ??????? //Envia email para autor do trabalho ??????? //envia_email_trabalho_inscrito($id_trabalho, $titulo, $email_trabalho); }
/** * Inseri um registro na tabela * * @parametro TrabalhoMySql trabalho */ public function insert(\Entity\Trabalho $Trabalho) { //Nao preenche os campos data_atualizacao e ip_atualizacao. //Preenche o campo data_cadastro automaticamente com a data atual do servidor de banco de dados. $sql = "INSERT INTO {$this->table} (fk_area, fk_categoria, fk_modalidade, nivel, titulo, titulo_ordenar, palavra1, palavra2, palavra3, apoiadores, resumo, resumo2, status, data_cadastro, ip_cadastro, fk_sessao, seq_sessao, nota, premiado, turno1, turno2, turno3) VALUES ( :fkArea, :fkCategoria, :fkModalidade, :nivel, :titulo, :tituloOrdenar, :palavra1, :palavra2, :palavra3, :apoiadores, :resumo, :resumo2, :status, sysdate(), :ipCadastro, :fkSessao, :seqSessao, :nota, :premiado, :turno1, :turno2, :turno3)"; $fkArea = $Trabalho->getFkArea(); $fkCategoria = $Trabalho->getFkCategoria(); $fkModalidade = $Trabalho->getFkModalidade(); $nivel = $Trabalho->getNivel(); $titulo = $Trabalho->getTitulo(); $tituloOrdenar = $Trabalho->getTituloOrdenar(); $palavra1 = $Trabalho->getPalavra1(); $palavra2 = $Trabalho->getPalavra2(); $palavra3 = $Trabalho->getPalavra3(); $apoiadores = $Trabalho->getApoiadores(); $resumo = $Trabalho->getResumo(); $resumo2 = $Trabalho->getResumo2(); $status = $Trabalho->getStatus(); $ipCadastro = $Trabalho->getIpCadastro(); $fkSessao = $Trabalho->getFkSessao(); $seqSessao = $Trabalho->getSeqSessao(); $nota = $Trabalho->getNota(); $premiado = $Trabalho->getPremiado(); $turno1 = $Trabalho->getTurno1(); $turno2 = $Trabalho->getTurno2(); $turno3 = $Trabalho->getTurno3(); $stmt = ConnectionFactory::prepare($sql); $stmt->bindParam(':fkArea', $fkArea); $stmt->bindParam(':fkCategoria', $fkCategoria); $stmt->bindParam(':fkModalidade', $fkModalidade); $stmt->bindParam(':nivel', $nivel); $stmt->bindParam(':titulo', $titulo); $stmt->bindParam(':tituloOrdenar', $tituloOrdenar); $stmt->bindParam(':palavra1', $palavra1); $stmt->bindParam(':palavra2', $palavra2); $stmt->bindParam(':palavra3', $palavra3); $stmt->bindParam(':apoiadores', $apoiadores); $stmt->bindParam(':resumo', $resumo); $stmt->bindParam(':resumo2', $resumo2); $stmt->bindParam(':status', $status); //$stmt->bindParam(':dataCadastro', $dataCadastro); //$stmt->bindParam(':dataAtualizacao', $dataAtualizacao); $stmt->bindParam(':ipCadastro', $ipCadastro); //$stmt->bindParam(':ipAtualizacao', $ipAtualizacao); $stmt->bindParam(':fkSessao', $fkSessao); $stmt->bindParam(':seqSessao', $seqSessao); $stmt->bindParam(':nota', $nota); $stmt->bindParam(':premiado', $premiado); $stmt->bindParam(':turno1', $turno1); $stmt->bindParam(':turno2', $turno2); $stmt->bindParam(':turno3', $turno3); $stmt->execute(); $sql = "SELECT LAST_INSERT_ID() as last_id"; $stmt = ConnectionFactory::prepare($sql); $stmt->execute(); $last_id = (array) $stmt->fetch(); //Pega o id_trabalho que foi gerado no banco e atualiza o objeto Trabalho. $id_trabalho = 0; foreach ($last_id as $value) { $id_trabalho = $value; } $Trabalho->setIdTrabalho($id_trabalho); return $id_tabalho; }