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'); } }