public static function updateCliente() { $ClienteTO = new stdClass(); $ClienteDao = new ClienteDao(); $PessoaJuridicaDao = new PessoaJuridicaDao(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $validator = new DataValidator(); $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $where = $_POST['where']; foreach ($_POST['campos'] as $key => $value) { if ($key != 'cpf' && $key != 'rg') { $ClienteTO->{$key} = $value; } } $PessoaFisicaTO->rg = isset($_POST['campos']["rg"]) ? $_POST['campos']["rg"] : ""; $PessoaFisicaTO->cpf = isset($_POST['campos']["cpf"]) ? $_POST['campos']["cpf"] : ""; $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $ClienteTO->id; if (!$PessoaFisicaDao->updatePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao atualizar o cliente'); } $validator->set_msg('Campo obrigatório')->set('nome', $ClienteTO->nome)->is_required(); if (!empty($ClienteTO->email)) { $validator->set_msg('Email inválido')->set('email', $ClienteTO->email)->is_email(); } $validator->set_msg('Campo obrigatório')->set('celular', $ClienteTO->celular)->is_required(); $validator->set_msg('Campo obrigatório')->set('tel_fixo', $ClienteTO->tel_fixo)->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; } $result = $ClienteDao->ClienteUpdate($ClienteTO, $where); $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $ClienteTO->id; $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($result) { $UsuarioEmpreendimentoTO->id_usuario = $ClienteTO->id; foreach ($empreendimentos as $key => $value) { $UsuarioEmpreendimentoTO->id_empreendimento = $value['id']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } } Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array('id' => $ClienteTO->id)))->send(); } else { Flight::halt(500, 'Erro ao atualizar o cliente'); } }
public static function cadastroRapidoClientePedido() { $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $ClienteDao = new ClienteDao(); $AutenticacaoTO = new AutenticacaoTO(); $validator = new DataValidator(); $ClienteTO->nome = isset($_POST["nome"]) ? $_POST["nome"] : ""; $ClienteTO->status = isset($_POST["status"]) ? $_POST["status"] : "1"; $ClienteTO->id_perfil = 6; $ClienteTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : NULL; $ClienteTO->email = isset($_POST["email"]) ? $_POST["email"] : ""; $ClienteTO->tel_fixo = isset($_POST["tel_fixo"]) ? $_POST["tel_fixo"] : NULL; $ClienteTO->celular = isset($_POST["celular"]) ? $_POST["celular"] : NULL; $ClienteTO->indicacao = isset($_POST["indicacao"]) ? $_POST["indicacao"] : NULL; $ClienteTO->id_como_encontrou = isset($_POST["id_como_encontrou"]) ? $_POST["id_como_encontrou"] : NULL; $ClienteTO->id = isset($_POST["id"]) ? $_POST["id"] : NULL; $tipo_cadastro = "pf"; $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $acao_cliente = isset($_POST['acao_cliente']) ? $_POST['acao_cliente'] : 'insert'; if ($acao_cliente == 'update') { $validator->set_msg('O ID do cliente é obrigatório')->set('id', $ClienteTO->id)->is_required(); } $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(); $validator->set_msg('E-mail inválido')->set('email', $ClienteTO->email)->is_email(); $validator->set_msg('O número do Tel. Fixo é obrigatório')->set('tel_fixo', $ClienteTO->tel_fixo)->is_num(); $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', $ClienteTO->id_perfil)->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; } if ($acao_cliente == 'insert') { $last_id = $ClienteDao->saveCliente($ClienteTO); } if ($acao_cliente == 'update') { $last_id = $ClienteDao->updateCliente($ClienteTO); } $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); if ($last_id && $acao_cliente == "insert") { $UsuarioEmpreendimentoTO->id_usuario = $last_id; $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($tipo_cadastro == "pf") { $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente PF'); } } 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 PJ'); } } } $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'); } } Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('id_cliente' => $last_id)))->send(); } else { if ($last_id == false) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } else { Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array('id_cliente' => $ClienteTO->id)))->send(); } } }