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 } }