public virtual void Commit() { this.Context.LogManager.Info(this, "Committing local transaction", "Data source: " + m_DataSource.Name + ", " + "Auto persist: " + m_AutoPersistAllOnCommit.ToString()); // do not localize TransactionCancelEventArgs e = new TransactionCancelEventArgs(this, m_DataSource, this.IsolationLevel, m_AutoPersistAllOnCommit); this.Context.EventManager.OnCommittingTransaction(this, e); if (e.Cancel) { return; } m_AutoPersistAllOnCommit = e.AutoPersistAllOnCommit; if (m_AutoPersistAllOnCommit) { this.Context.Commit(); } m_DbTransaction.Commit(); this.Context.OnTransactionComplete(this); m_DataSource.KeepConnectionOpen = m_OriginalKeepOpen; m_DataSource.ReturnConnection(); TransactionEventArgs e2 = new TransactionEventArgs(this, m_DataSource, m_AutoPersistAllOnCommit); this.Context.EventManager.OnCommittedTransaction(this, e2); }
public override void Rollback() { base.Rollback(); LogMessage message = new LogMessage("Rolling back local transaction"); LogMessage verbose = new LogMessage("Data source: {0}, Auto persist: {1}", m_DataSource.Name, this.AutoPersistAllOnCommit); this.Context.LogManager.Info(this, message, verbose); // do not localize TransactionCancelEventArgs e = new TransactionCancelEventArgs(this, m_DataSource, this.AutoPersistAllOnCommit); this.Context.EventManager.OnRollingbackTransaction(this, e); if (e.Cancel) { return; } this.AutoPersistAllOnCommit = e.AutoPersistAllOnCommit; m_DbTransaction.Rollback(); this.Context.OnTransactionComplete(this); m_DataSource.KeepConnectionOpen = m_OriginalKeepOpen; m_DataSource.ReturnConnection(); TransactionEventArgs e2 = new TransactionEventArgs(this, m_DataSource, this.AutoPersistAllOnCommit); this.Context.EventManager.OnRolledbackTransaction(this, e2); }
public virtual void OnRollingbackTransaction(object sender, TransactionCancelEventArgs e) { }
public virtual void OnCommittingTransaction(object sender, TransactionCancelEventArgs e) { }
public virtual void OnBeginningTransaction(object sender, TransactionCancelEventArgs e) { }
/// <summary> /// evento di notifica inizio elaborazione di una transazione /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DefaultRepeater_TransactionStarting(object sender, TransactionCancelEventArgs e) { //e.Cancel = true: annulla l'operazione }