Exemple #1
0
 /**
  * Metodo que faz o cadastro dos idiomas do candidato
  * @param Candidato $candidato
  */
 public function insert(Candidato $candidato)
 {
     if (!$candidato->getId()) {
         throw new BTAlentoException("O candidato informado é inválido");
     }
     if (count($candidato->getIdiomas())) {
         $query = "insert into {$this->tg->getTabela()}";
         $query .= "(idioma_nome, idioma_nivel, idioma_instituicao, ";
         $query .= "idioma_pais, idioma_pk_candidato)";
         $query .= " values ";
         foreach ($candidato->getIdiomas() as $idioma) {
             $idioma = new Idioma();
             $query .= "({$idioma->getNome()}, {$idioma->getNivel()}, ";
             $query .= "{$idioma->getInstituicao()}, {$idioma->getIntercambioPais()}, ";
             $query .= "{$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");
         }
     }
 }