public void EstablishTransaction(ITransactionHandler transactionHandler, IDbTransactionObserver observer) { //first check the connection state. If it not open then dispose of it if (transactionHandler.Connection != null) { if (transactionHandler.Connection.State != ConnectionState.Open) { transactionHandler.Connection.Dispose(); transactionHandler.Connection = null; } } //second open a connection if no connection is already set if (transactionHandler.Connection == null) { transactionHandler.Connection = OpenConnection(transactionHandler.ConnectionString); } //third begin a transaction if (transactionHandler.Transaction == null) { transactionHandler.Transaction = new DbTransaction(transactionHandler.Connection.BeginTransaction()); } //furth add observer if (transactionHandler.Transaction != null && observer != null) { transactionHandler.Transaction.AddObserver(observer); } }
public void AddObserver(IDbTransactionObserver observer) { if (m_observers.Contains(observer) == false) { m_observers.Add(observer); } }
public void AddObserver(IDbTransactionObserver observer) { _observers.Add(observer); }