Example #1
0
 public function cadastrar_autor(\Entity\Autor $autor, \Entity\Usuario $usuario, $curso_id)
 {
     $this->em->getConnection()->beginTransaction();
     try {
         $autor_orig = $this->autor_dao->find_autor_by_cpf($usuario->getCpf());
         if ($autor_orig != NULL) {
             $this->CI->session->set_flashdata('erro', 'Este autor já existe.');
             throw new Exception("Este autor já existe", 2);
         }
         // TODO: consultar CPF aqui, mover para um método abstrato no usuario_bo
         $senha = $usuario->getSenha();
         $usuario->setSenha(md5($senha));
         $this->usuario_dao->insert($usuario);
         $autor->setUsuario($usuario);
         $this->fazerCadastroAutorAux($autor, $curso_id);
         $this->em->flush();
         $this->em->refresh($autor);
         $this->usuario_bo->redefinirUserRegras($usuario->getIdUsuario());
         sendEmailAfterRecordUser($usuario->getCpf(), $usuario->getNome(), $usuario->getEmail(), "autor");
         return $usuario->getIdUsuario();
     } catch (Exception $ex) {
         $this->em->getConnection()->rollBack();
         $this->CI->log->write_log('error', $ex->getMessage());
     }
     return false;
 }
 public function jsonSerialize()
 {
     $this->__load();
     return parent::jsonSerialize();
 }