public static function update() { try { $PerfilUsuarioTO = new PerfilUsuarioTO(); $PerfilUsuarioDao = new PerfilUsuarioDao(); $ModuloPerfilTO = new ModuloPerfilTO(); $ModuloPerfilDao = new ModuloPerfilDao(); $PerfilUsuarioTO->__setAll($_POST); $modulos = isset($_POST['modulos']) ? $_POST['modulos'] : array(); $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $validator = new DataValidator(); $validator->set_msg('O ID do perfil é obrigatório')->set('nome', $PerfilUsuarioTO->id)->is_required(); $validator->set_msg('O nome do perfil é obrigatório')->set('nome', $PerfilUsuarioTO->nome)->is_required(); $validator->set_msg('Deve ser selecionado ao menos um módulo')->set('modulos', count($modulos))->min_value(0); $validator->set_msg('Deve ser selecionado ao menos um empreendimento')->set('modulos', count($empreendimentos))->min_value(0); if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $PerfilUsuarioDao->updatePerfil($PerfilUsuarioTO, 'id=' . $PerfilUsuarioTO->id); $ModuloPerfilDao->deleteModuloPerfil('id_perfil=' . $PerfilUsuarioTO->id); foreach ($modulos as $id_modulo) { $ModuloPerfilTO->id_modulo = $id_modulo; $ModuloPerfilTO->id_perfil = $PerfilUsuarioTO->id; $ModuloPerfilDao->save($ModuloPerfilTO); } $PerfilUsuarioEmpreendimentoDao = new PerfilUsuarioEmpreendimentoDao(); $PerfilUsuarioEmpreendimentoDao->deletePerfilUsuarioEmpreendimento('id_perfil=' . $PerfilUsuarioTO->id); foreach ($empreendimentos as $empreendimento) { $PerfilUsuarioEmpreendimentoTO = new PerfilUsuarioEmpreendimentoTO(); $empreendimento['id_perfil'] = $PerfilUsuarioTO->id; $PerfilUsuarioEmpreendimentoTO->__setAll($empreendimento); $PerfilUsuarioEmpreendimentoDao->savePerfilUsuarioEmpreendimento($PerfilUsuarioEmpreendimentoTO); } Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array('id' => $PerfilUsuarioTO->id)))->send(); } catch (Exception $e) { $Conexao = new Conexao(); $Conexao::getInstance(); $Conexao->rollback(); jsonException($e); } }
public static function cadastrarCliente() { try { $UsuarioDao = new UsuarioDao(); $ClienteDao = new ClienteDao(); $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaFisicaDao = new PessoaFisicaDao(); $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $validator = new DataValidator(); $ClienteTO->__setAll($_POST); $tipo_cadastro = "pf"; $PessoaFisicaTO->rg = isset($_POST["rg"]) ? $_POST["rg"] : NULL; $PessoaFisicaTO->cpf = isset($_POST["cpf"]) ? $_POST["cpf"] : NULL; $UsuarioEmpreendimentoTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : array(); $validator->set_msg('O id_empreendimento é obrigatório')->set('nome', $UsuarioEmpreendimentoTO->id_empreendimento)->is_required(); if (empty($PessoaFisicaTO->cpf)) { $validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required(); } if (empty($ClienteTO->nome)) { $validator->set_msg('O cpf do cliente é obrigatório')->set('cpf', $PessoaFisicaTO->cpf)->is_required(); } if (!empty($ClienteTO->email)) { $validator->set_msg('E-mail inválido')->set('email', $ClienteTO->email)->is_email(); } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $Conexao = new Conexao(); $Conexao::getInstance(); $Conexao->beginTransaction(); $last_id = $ClienteDao->saveCliente($ClienteTO); if ($last_id) { $UsuarioEmpreendimentoTO->id_usuario = $last_id; $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { $Conexao->rollback(); Flight::halt(500, 'Erro ao cadastrar cpf do cliente'); } $UsuarioEmpreendimentoTO->id_usuario = $last_id; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { $Conexao->rollback(); Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } $dados_usuario = $UsuarioDao->getUsuario($UsuarioEmpreendimentoTO->id_empreendimento, $last_id); Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('usuario' => $dados_usuario)))->send(); } else { $Conexao->rollback(); Flight::halt(500, 'Erro ao cadastrar o cliente'); } } catch (Exception $e) { if (isset($Conexao)) { $Conexao->rollback(); } jsonException($e); } }