using System;
using System.Data;
using SDA.DataProvider.Core;
namespace SDA.DataProvider
{
///
/// Adatbázis-ügylet
///
public class SDATransaction : IDbTransaction
{
internal SDATransactionWrapper Transaction;
internal SDATransaction(SDATransactionWrapper transaction)
{
Transaction = transaction;
}
bool _disposed;
///
/// Explicit destruktor.
///
/// Programozott felszabadítás?
protected virtual void Dispose(bool disposing)
{
if (_disposed)
{
return;
}
if (disposing)
{
if (Transaction != null)
{
Transaction.Dispose();
Transaction = null;
}
}
_disposed = true;
}
///
/// Eldobja az ügyletet.
///
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
#region IDbTransaction Members
///
/// Az ügylethez tartozó adatbázis-kapcsolat.
///
public IDbConnection Connection
{
get
{
return Transaction.Connection;
}
}
///
/// Az elválasztás szintje.
///
public IsolationLevel IsolationLevel
{
get
{
return Transaction.IsolationLevel;
}
}
///
/// Elköveti az ügyletet.
///
public void Commit()
{
Transaction.Commit();
}
///
/// Visszagörgeti az ügyletet.
///
public void Rollback()
{
Transaction.Rollback();
}
#endregion
}
}