public function cadastrarOuvinte(\Entity\Ouvinte $ouvinte, \Entity\Usuario $usuario, $instituicao_id, $campus_id, $curso_id) { $this->em->getConnection()->beginTransaction(); try { $ouvinte_orig = $this->ouvinte_dao->findOuvinteByCPF($usuario->getCpf()); if ($ouvinte_orig != NULL) { $this->CI->session->set_flashdata('erro', 'Este ouvinte já existe.'); throw new Exception("Este ouvinte já existe", 2); } // TODO: consultar CPF aqui, mover para um método abstrato no usuario_bo $senha = $usuario->getSenha(); $usuario->setSenha(md5($senha)); // cadastra o usuário $this->usuario_dao->insert($usuario); $ouvinte->setUsuario($usuario); $this->_fazerCadastroOuvinteAux($ouvinte, $instituicao_id, $campus_id, $curso_id); $this->em->flush(); $this->em->refresh($usuario); $this->usuario_bo->redefinirUserRegras($usuario->getIdUsuario()); sendEmailAfterRecordUser($usuario->getCpf(), $usuario->getNome(), $usuario->getEmail(), "ouvinte"); return $usuario->getIdUsuario(); } catch (Exception $ex) { $this->em->getConnection()->rollBack(); $this->CI->log->write_log('error', $ex->getMessage()); } return false; }
public function setUsuario(\Entity\Usuario $usuario) { $this->__load(); return parent::setUsuario($usuario); }