示例#1
0
 public void IniciarTransacao()
 {
     if (EmTransacao)
     {
         throw new TransacaoJaIniciadaException();
     }
     ExecutarEventoTransacao(AntesIniciarTransacao);
     _transacao = new Transacao(CriarConexaoSemTransacao());
     _transacao.IniciarTransacao();
     ExecutarEventoTransacao(DepoisIniciarTransacao);
 }
示例#2
0
 public ITransacao IniciarTransacao()
 {
     if (_transacaoExterna || EmTransacao)
     {
         throw new TransacaoJaIniciadaException();
     }
     try
     {
         ExecutarEventoTransacao(AntesIniciarTransacao);
         _transacao = new Transacao(CriarConexaoSemTransacao());
         _transacao.DepoisLimparTransacao += DepoisLimparTransacao;
         return(_transacao);
     }
     finally
     {
         ExecutarEventoTransacao(DepoisIniciarTransacao);
     }
 }
示例#3
0
 public Conexao(string stringConexao, IDbTransaction transacao) : this(stringConexao)
 {
     _transacao        = new Transacao(transacao);
     _transacaoExterna = true;
 }
示例#4
0
 private void DepoisLimparTransacao(object sender)
 {
     _transacao.DepoisLimparTransacao -= DepoisLimparTransacao;
     _transacao.Dispose();
     _transacao = null;
 }
示例#5
0
 private void LimparTransacao()
 {
     _transacao.Dispose();
     _transacao = null;
 }