/** * Metodo que faz o cadastro das formações do candidato * @param Candidato $candidato */ public function insert(Candidato $candidato) { if (!$candidato->getId()) { throw new BTAlentoException("O candidato informado é inválido"); } if (count($candidato->getFormacao())) { $query = "insert into {$this->tg->getTabela()}"; $query .= "(formacao_tipo, formacao_nome, formacao_instituicao, "; $query .= "formacao_status, formacao_periodo, formacao_pk_candidato)"; $query .= " values "; foreach ($candidato->getFormacao() as $formacao) { $query .= "({$formacao->getTipo()}, '{$formacao->getCurso()}',"; $query .= "'{$formacao->getInstituicao()}', {$formacao->getStatus()},"; $query .= "{$formacao->getPeriodoAtual()}, {$candidato->getId()}),"; } $queryInsert = substr($query, 0, -1); $prepare = $this->tg->getPDO()->prepare($queryInsert); if (!$prepare->execute()) { $sqlCandidato = new SqlCandidato(); $sqlCandidato->delete($candidato); throw new BTAlentoException("Ocorreu um erro ao tentar cadastrar o currículo." . "Tente novamente mais tarde"); } } }