using
System;
using System.Data;
public class TransactionControl : IDispoable
{
private bool _disposed = false ;
private IDbConnection _conn;
private IDbTransaction _trans;
public TransactionControl()
{
try
{
_conn = ConnFactory.Create(ConnManager.GetConnInfo());
_conn.Open();
_trans = _conn.BeginTransaction();
}
catch
{
Dispose();
}
}
public TransactionControl( string name)
{
try
{
_conn = ConnFactory.Create(ConnManager.GetConnInfoByName(name));
_conn.Open();
_trans = _conn.BeginTransaction();
}
catch
{
Dispose();
}
}
public void Commit()
{
_trans.Commit();
}
public void Rollback()
{
_trans.Rollback();
}
public IDbConnection Connection
{
get { return _conn; }
}
public IDbTransaction Transaction
{
get { return _trans; }
}
~ DisposeObject()
{
Dispose( false );
}
public void Dispose()
{
Dispose( true );
}
private void Dispose( bool disposing)
{
if ( ! _disposed)
{
if (disposing)
{
CleanUp();
GC.SuppressFinalize( this );
}
_disposed = true ;
}
}
private void CleanUp()
{
if (_trans != null )
{
_trans.Dispose();
}
if (_conn != null )
{
if (_conn.State != ConnectionState.Closed)
{
_conn.Close();
}
_conn.Dispose();
}
}
}
using System.Data;
public class TransactionControl : IDispoable
{
private bool _disposed = false ;
private IDbConnection _conn;
private IDbTransaction _trans;
public TransactionControl()
{
try
{
_conn = ConnFactory.Create(ConnManager.GetConnInfo());
_conn.Open();
_trans = _conn.BeginTransaction();
}
catch
{
Dispose();
}
}
public TransactionControl( string name)
{
try
{
_conn = ConnFactory.Create(ConnManager.GetConnInfoByName(name));
_conn.Open();
_trans = _conn.BeginTransaction();
}
catch
{
Dispose();
}
}
public void Commit()
{
_trans.Commit();
}
public void Rollback()
{
_trans.Rollback();
}
public IDbConnection Connection
{
get { return _conn; }
}
public IDbTransaction Transaction
{
get { return _trans; }
}
~ DisposeObject()
{
Dispose( false );
}
public void Dispose()
{
Dispose( true );
}
private void Dispose( bool disposing)
{
if ( ! _disposed)
{
if (disposing)
{
CleanUp();
GC.SuppressFinalize( this );
}
_disposed = true ;
}
}
private void CleanUp()
{
if (_trans != null )
{
_trans.Dispose();
}
if (_conn != null )
{
if (_conn.State != ConnectionState.Closed)
{
_conn.Close();
}
_conn.Dispose();
}
}
}