public static function requestSaveUsuario() { try { $usuario = $_POST['usuario']; $id_empreendimento = $_POST['id_empreendimento']; $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $PrestaShopDao = new PrestaShopDao($_POST['id_empreendimento']); $ClienteDao = new ClienteDao(); $ClienteTO = new ClienteTO(); $ClienteTO->nome = getKeyArr($usuario, 'firstname'); $ClienteTO->apelido = getKeyArr($usuario, 'lastname'); $ClienteTO->dta_nacimento = getKeyArr($usuario, 'birthday'); $ClienteTO->email = getKeyArr($usuario, 'email'); $ClienteTO->flg_tipo = 'cliente'; $last_id = $ClienteDao->saveCliente($ClienteTO); if (!$last_id) { throw new Exception('Erro ao salvar usuario', 1); } $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $last_id; $UsuarioEmpreendimentoTO->id_empreendimento = $id_empreendimento; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { throw new Exception('erro ao lincar usuario ao empreendimento'); } $AutenticacaoTO = new AutenticacaoTO(); $AutenticacaoTO->id_usuario = $last_id; $AutenticacaoTO->senha = getKeyArr($usuario, 'passwd'); $AutenticacaoTO->login = getKeyArr($usuario, 'email'); if (!empty($AutenticacaoTO->senha) && !empty($AutenticacaoTO->login)) { if (!$ClienteDao->saveAutenticacao($AutenticacaoTO)) { throw new Exception('Erro ao inserir Autenticacao'); } } $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaFisicaTO->usuarios_id = $last_id; $PessoaFisicaTO->rg = NULL; $PessoaFisicaTO->cpf = NULL; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { throw new Exception('Erro ao cadastrar tipo da pessoa (pf,pj)'); } $ConfiguracaoDao = new ConfiguracaoDao(); $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); if (isset($config['prestashop_id_perfil_padrao']) && !empty($config['prestashop_id_perfil_padrao'])) { $UsuarioPerfilEmpreendimentoDao = new UsuarioPerfilEmpreendimentoDao(); $UsuarioPerfilEmpreendimentoTO = new UsuarioPerfilEmpreendimentoTO(); $UsuarioPerfilEmpreendimentoTO->id_empreendimento = $id_empreendimento; $UsuarioPerfilEmpreendimentoTO->id_perfil = $config['prestashop_id_perfil_padrao']; $UsuarioPerfilEmpreendimentoTO->id_usuario = $last_id; $UsuarioPerfilEmpreendimentoDao->saveUsuarioPerfilEmpreendimento($UsuarioPerfilEmpreendimentoTO); } $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoTO->tabela = 'tbl_usuarios'; $ReferenciaIntegracaoTO->id_item = $last_id; $ReferenciaIntegracaoTO->id_item_referencia = $usuario['id']; $ReferenciaIntegracaoTO->tipo = 'usuario'; $ReferenciaIntegracaoTO->id_empreendimento = $id_empreendimento; if (!$ReferenciaIntegracaoDao->save($ReferenciaIntegracaoTO)) { throw new Exception('Erro ao criar referencia no sistema', 1); } } catch (Exception $e) { $log = new KLogger("logs/logErrorPrestaShop.txt", KLogger::DEBUG); $log->LogError($e->getMessage() . '- file:' . $e->getFile() . ' - line:' . $e->getLine()); $log->LogDebug(json_encode($_POST)); $log->LogJunp(); Flight::halt(500, $e->getMessage()); } }
public static function cadastroRapidoCliente() { $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $ClienteDao = new ClienteDao(); $AutenticacaoTO = new AutenticacaoTO(); $validator = new DataValidator(); $UsuarioDao = new UsuarioDao(); $ClienteTO->nome = isset($_POST["nome"]) ? $_POST["nome"] : NULL; $ClienteTO->status = isset($_POST["status"]) ? $_POST["status"] : "1"; $ClienteTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : NULL; $ClienteTO->email = isset($_POST["email"]) ? $_POST["email"] : NULL; $ClienteTO->dta_nacimento = isset($_POST["dta_nacimento"]) ? $_POST["dta_nacimento"] : null; $ClienteTO->celular = isset($_POST["celular"]) ? $_POST["celular"] : null; $PessoaFisicaTO->rg = isset($_POST["rg"]) ? $_POST["rg"] : NULL; $PessoaFisicaTO->cpf = isset($_POST["cpf"]) ? $_POST["cpf"] : NULL; $PessoaJuridicaTO->razao_social = isset($_POST["razao_social"]) ? $_POST["razao_social"] : NULL; $PessoaJuridicaTO->nome_fantasia = isset($_POST["nome_fantasia"]) ? $_POST["nome_fantasia"] : NULL; $PessoaJuridicaTO->cnpj = isset($_POST["cnpj"]) ? $_POST["cnpj"] : NULL; $PessoaJuridicaTO->inscricao_estadual = isset($_POST["inscricao_estadual"]) ? $_POST["inscricao_estadual"] : NULL; $tipo_cadastro = isset($_POST['tipo_cadastro']) ? $_POST['tipo_cadastro'] : NULL; $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $id_perfil = isset($_POST["id_perfil"]) ? $_POST["id_perfil"] : NULL; if (empty($PessoaFisicaTO->cpf)) { $validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required(); } $validator->set_msg('informe o status do cliente')->set('status', $ClienteTO->status)->is_num(); if (!empty($ClienteTO->email)) { $validator->set_msg('E-mail inválido')->set('email', $ClienteTO->email)->is_email(); } $validator->set_msg('O codigo do empreendimento é obrigatório')->set('id_empreendimento', $ClienteTO->id_empreendimento)->is_required(); $validator->set_msg('O perfil é obrigatório')->set('id_perfil', $id_perfil)->is_required(); if (empty($ClienteTO->nome)) { if ($tipo_cadastro == 'pf') { /*$validator->set_msg('O rg é obrigatório') ->set('rg' ,$PessoaFisicaTO->rg) ->is_required();*/ $validator->set_msg('A cpf é obrigatória')->set('cpf', $PessoaFisicaTO->cpf)->is_required(); } elseif ($tipo_cadastro == 'pj') { /*$validator->set_msg('A razão social é obrigatório') ->set('razao_social' ,$PessoaJuridicaTO->razao_social) ->is_required(); $validator->set_msg('O nome fantasia é obrigatória') ->set('nome_fantasia' ,$PessoaJuridicaTO->nome_fantasia) ->is_required();*/ $validator->set_msg('O cnpj é obrigatório')->set('cnpj', $PessoaJuridicaTO->cnpj)->is_required(); /*$validator->set_msg('A incrição estadual é obrigatória') ->set('inscricao_estadual' ,$PessoaJuridicaTO->inscricao_estadual) ->is_required();*/ } } if (!(isset($empreendimentos) && is_array($empreendimentos) && count($empreendimentos) > 0)) { $validator->_errors['empreendimentos'][] = 'É obrigatório informar pelo menos um empreendimento'; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $last_id = $ClienteDao->saveCliente($ClienteTO); $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $last_id; $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($last_id) { $UsuarioPerfilEmpreendimentoDao = new UsuarioPerfilEmpreendimentoDao(); $UsuarioPerfilEmpreendimentoTO = new UsuarioPerfilEmpreendimentoTO(); $UsuarioPerfilEmpreendimentoTO->id_empreendimento = $_POST["id_empreendimento"]; $UsuarioPerfilEmpreendimentoTO->id_perfil = $id_perfil; $UsuarioPerfilEmpreendimentoTO->id_usuario = $last_id; $UsuarioPerfilEmpreendimentoDao->saveUsuarioPerfilEmpreendimento($UsuarioPerfilEmpreendimentoTO); if ($tipo_cadastro == "pf") { $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } } else { if ($tipo_cadastro == "pj") { $PessoaJuridicaDao = new PessoaJuridicaDao(); $PessoaJuridicaTO->usuarios_id = $last_id; if (!$PessoaJuridicaDao->savePessoaJuridica($PessoaJuridicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } } } $UsuarioEmpreendimentoTO->id_usuario = $last_id; foreach ($empreendimentos as $key => $value) { $UsuarioEmpreendimentoTO->id_empreendimento = $value['id']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } } $dados_usuario = $UsuarioDao->getUsuario($ClienteTO->id_empreendimento, $last_id); Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('id' => $last_id, 'dados' => $dados_usuario)))->send(); } else { Flight::halt(500, 'Erro ao cadastrar o clienteeee'); } }