本文整理汇总了PHP中Conexao::rollback方法的典型用法代码示例。如果您正苦于以下问题:PHP Conexao::rollback方法的具体用法?PHP Conexao::rollback怎么用?PHP Conexao::rollback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Conexao
的用法示例。
在下文中一共展示了Conexao::rollback方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: update
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);
}
}
示例2: cadastrarCliente
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);
}
}