$usuarioRepository = new UsuarioRepository($pdo);
    $pdo->beginTransaction();
    $senhaAntiga = $_POST['senha_antiga'];
    $usuario = new Usuario();
    $usuario->setSenha($senhaAntiga);
    $usuario->setUsuario($usuarioAutenticado->getUsuario());
    $id = $usuarioRepository->verificaSeTemUsuario($usuario);
    if ($_POST['senha'] != $_POST['senha_confirmar']) {
        throw new RegraDeNegocioException('As senhas não conferem!');
    }
    $usuario->setSenha($_POST['senha']);
    $usuario->setId($id);
    $usuarioRepository->updateSenha($usuario);
    $auditoria = new Auditoria();
    $auditoriaRepository = new AuditoriaRepository($pdo);
    // Auditoria
    $auditoria->setData(date('Y-m-d H:i:s'));
    $auditoria->setAcao(Auditoria::UPDATE);
    $auditoria->setObservacao('Tabela: Usuario - Id: ' . $usuario->getId() . " alterou a senha");
    $auditoria->setEmpresa($usuarioAutenticado->getEmpresa());
    $auditoria->setUsuario($usuarioAutenticado);
    $auditoriaRepository->add($auditoria);
    $pdo->commit();
    $servicoDeMensagem->setMensagem(MensagemDoSistema::SUCESSO, 'Atualizado com sucesso');
    redirect('alterar-senha');
} catch (Exception $ex) {
    if (isset($pdo) && $pdo->inTransaction()) {
        $pdo->rollBack();
    }
    throw $ex;
}
<?php

include 'lib/lib.php';
include 'util/ServicoAutenticacao.php';
include 'util/ServicoDeAutorizacao.php';
include 'repository/PessoaRepository.php';
$session = new UsuarioSession();
ServicoAutenticacao::verificaSeEstaAutenticado();
ServicoDeAutorizacao::verificarPermissao($session->getUsuarioAutenticado(), ServicoDeAutorizacao::MODULO_USUARIO, ServicoDeAutorizacao::ACOES_DELETAR);
$usuarioAutenticado = $session->getUsuarioAutenticado();
$servicoDeMensagem = new ServicoDeMensagem();
$pdo = getConnection();
$pdo->beginTransaction();
$pessoaId = getValorOuNullo('id', $_GET);
$pessoaRepository = new PessoaRepository($pdo);
$pessoaRepository->delete($pessoaId);
$auditoria = new Auditoria();
$auditoriaRepository = new AuditoriaRepository($pdo);
// Auditoria
$auditoria->setData(date('Y-m-d H:i:s'));
$auditoria->setAcao(Auditoria::DELETE);
$auditoria->setObservacao('Tabela: Pessoa - Id:' . $pessoaId);
$auditoria->setEmpresa($usuarioAutenticado->getEmpresa());
$auditoria->setUsuario($usuarioAutenticado);
$auditoriaRepository->add($auditoria);
$pdo->commit();
$servicoDeMensagem->setMensagem(MensagemDoSistema::SUCESSO, 'Deletado com sucesso');
redirect('contatos');
include_once 'repository/AuditoriaRepository.php';
try {
    $servicoDeMensagem = new ServicoDeMensagem();
    $pdo = getConnection();
    $pdo->beginTransaction();
    $session = new UsuarioSession();
    $convert = new PessoaConverter();
    $pessoa = $convert->fromArray($_POST);
    $usuarioAutenticado = $session->getUsuarioAutenticado();
    $pessoaRepository = new PessoaRepository($pdo);
    $pessoa_antigo = objectToArray($pessoaRepository->get($pessoa->getId()));
    $pessoa_antigo = print_r($pessoa_antigo, TRUE);
    $pessoaRepository->update($pessoa);
    $auditoria = new Auditoria();
    $auditoriaRepository = new AuditoriaRepository($pdo);
    // Auditoria
    $auditoria->setData(date('Y-m-d H:i:s'));
    $auditoria->setAcao(Auditoria::UPDATE);
    $auditoria->setObservacao('Tabela: Pessoa - Id:' . $pessoa->getId() . "<br> Valores antigos: <pre>" . $pessoa_antigo . "</pre>");
    $auditoria->setEmpresa($usuarioAutenticado->getEmpresa());
    $auditoria->setUsuario($usuarioAutenticado);
    $auditoriaRepository->add($auditoria);
    $pdo->commit();
    $servicoDeMensagem->setMensagem(MensagemDoSistema::SUCESSO, 'Atualizado com sucesso');
    redirect('contatos');
} catch (Exception $ex) {
    if (isset($pdo) && $pdo->inTransaction()) {
        $pdo->rollBack();
    }
    throw $ex;
}
<?php

include 'lib/lib.php';
include 'util/ServicoAutenticacao.php';
include 'util/ServicoDeAutorizacao.php';
include 'repository/AnotacaoRepository.php';
$session = new UsuarioSession();
ServicoAutenticacao::verificaSeEstaAutenticado();
$usuarioAutenticado = $session->getUsuarioAutenticado();
$servicoDeMensagem = new ServicoDeMensagem();
$pdo = getConnection();
$pdo->beginTransaction();
$id = getValorOuNullo('id', $_GET);
$anotacoes = new AnotacaoRepository($pdo);
$anotacoes->delete($id);
$auditoria = new Auditoria();
$auditoriaRepository = new AuditoriaRepository($pdo);
// Auditoria
$auditoria->setData(date('Y-m-d H:i:s'));
$auditoria->setAcao(Auditoria::DELETE);
$auditoria->setObservacao('Tabela: Anotacoes - Id:' . $id);
$auditoria->setEmpresa($usuarioAutenticado->getEmpresa());
$auditoria->setUsuario($usuarioAutenticado);
$auditoriaRepository->add($auditoria);
$pdo->commit();
$servicoDeMensagem->setMensagem(MensagemDoSistema::SUCESSO, 'Deletado com sucesso');
redirect('anotacoes');
include_once 'repository/AnotacaoRepository.php';
try {
    $servicoDeMensagem = new ServicoDeMensagem();
    $pdo = getConnection();
    $pdo->beginTransaction();
    $session = new UsuarioSession();
    $convert = new AnotacaoConverter();
    $anotacao = $convert->fromArray($_POST);
    $usuarioAutenticado = $session->getUsuarioAutenticado();
    $anotacaoRepository = new AnotacaoRepository($pdo);
    $anotacao_antiga = objectToArray($anotacaoRepository->get($anotacao->getId()));
    $anotacao_antiga = print_r($anotacao_antiga, TRUE);
    $anotacaoRepository->update($anotacao);
    $auditoria = new Auditoria();
    $auditoriaRepository = new AuditoriaRepository($pdo);
    // Auditoria
    $auditoria->setData(date('Y-m-d H:i:s'));
    $auditoria->setAcao(Auditoria::UPDATE);
    $auditoria->setObservacao('Tabela: anotacao - Id:' . $anotacao->getId() . "<br> Valores antigos: <pre>" . $anotacao_antiga . "</pre>");
    $auditoria->setEmpresa($usuarioAutenticado->getEmpresa());
    $auditoria->setUsuario($usuarioAutenticado);
    $auditoriaRepository->add($auditoria);
    $pdo->commit();
    $servicoDeMensagem->setMensagem(MensagemDoSistema::SUCESSO, 'Atualizado com sucesso');
    redirect('anotacoes');
} catch (Exception $ex) {
    if (isset($pdo) && $pdo->inTransaction()) {
        $pdo->rollBack();
    }
    throw $ex;
}
include 'repository/UsuarioRepository.php';
include 'converter/UsuarioConverter.php';
try {
    $servicoDeMensagem = new ServicoDeMensagem();
    $auditoria = new Auditoria();
    $pdo = getConnection();
    $auditoriaRepository = new AuditoriaRepository($pdo);
    $pdo->beginTransaction();
    $usuarioSession = new UsuarioSession();
    $convert = new UsuarioConverter();
    $usuario = $convert->fromArray($_POST);
    $usuarioAutenticado = $usuarioSession->getUsuarioAutenticado();
    $usuario->setEmpresa($usuarioAutenticado->getEmpresa());
    $usuarioRepository = new UsuarioRepository($pdo);
    $usuarioRepository->add($usuario);
    // Auditoria
    $auditoria->setData(date('Y-m-d H:i:s'));
    $auditoria->setAcao(Auditoria::INSERT);
    $auditoria->setObservacao('Tabela: usuario - Id:' . $pdo->lastInsertId());
    $auditoria->setEmpresa($usuarioAutenticado->getEmpresa());
    $auditoria->setUsuario($usuarioAutenticado);
    $auditoriaRepository->add($auditoria);
    $pdo->commit();
    $servicoDeMensagem->setMensagem(MensagemDoSistema::SUCESSO, 'Inserido com sucesso');
    redirect('novo-usuario');
} catch (Exception $ex) {
    if (isset($pdo) && $pdo->inTransaction()) {
        $pdo->rollBack();
    }
    throw $ex;
}
try {
    $servicoDeMensagem = new ServicoDeMensagem();
    $auditoria = new Auditoria();
    $pdo = getConnection();
    $auditoriaRepository = new AuditoriaRepository($pdo);
    $pdo->beginTransaction();
    $session = new UsuarioSession();
    $convert = new PessoaConverter();
    $pessoa = $convert->fromArray($_POST);
    $usuarioAutenticado = $session->getUsuarioAutenticado();
    $pessoa->setEmpresa($usuarioAutenticado->getEmpresa());
    $pessoa->setUsuario($usuarioAutenticado);
    $pessoaRepository = new PessoaRepository($pdo);
    $pessoaRepository->add($pessoa);
    // Auditoria
    $auditoria->setData(date('Y-m-d H:i:s'));
    $auditoria->setAcao(Auditoria::INSERT);
    $auditoria->setObservacao('Tabela: pessoa - Id:' . $pdo->lastInsertId());
    $auditoria->setEmpresa($usuarioAutenticado->getEmpresa());
    $auditoria->setUsuario($usuarioAutenticado);
    $auditoriaRepository->add($auditoria);
    $pdo->commit();
    // Criar Sessao para mensagens??
    $servicoDeMensagem->setMensagem(MensagemDoSistema::SUCESSO, 'Inserido com sucesso');
    redirect('contatos');
} catch (Exception $ex) {
    if (isset($pdo) && $pdo->inTransaction()) {
        $pdo->rollBack();
    }
    throw $ex;
}
try {
    $servicoDeMensagem = new ServicoDeMensagem();
    $auditoria = new Auditoria();
    $pdo = getConnection();
    $auditoriaRepository = new AuditoriaRepository($pdo);
    $pdo->beginTransaction();
    $session = new UsuarioSession();
    $convert = new AnotacaoConverter();
    $anotacao = $convert->fromArray($_POST);
    $usuarioAutenticado = $session->getUsuarioAutenticado();
    $anotacao->setEmpresa($usuarioAutenticado->getEmpresa());
    $anotacao->setUsuario($usuarioAutenticado);
    $anotacaoRepository = new AnotacaoRepository($pdo);
    $anotacaoRepository->add($anotacao);
    // Auditoria
    $auditoria->setData(date('Y-m-d H:i:s'));
    $auditoria->setAcao(Auditoria::INSERT);
    $auditoria->setObservacao('Tabela: anotacao - Id:' . $pdo->lastInsertId());
    $auditoria->setEmpresa($usuarioAutenticado->getEmpresa());
    $auditoria->setUsuario($usuarioAutenticado);
    $auditoriaRepository->add($auditoria);
    $pdo->commit();
    // Criar Sessao para mensagens??
    $servicoDeMensagem->setMensagem(MensagemDoSistema::SUCESSO, 'Inserido com sucesso');
    redirect('anotacoes');
} catch (Exception $ex) {
    if (isset($pdo) && $pdo->inTransaction()) {
        $pdo->rollBack();
    }
    throw $ex;
}