private void Commit() { _logger.Trace(() => "Committing (" + _persistenceTransactionId + ")."); var exceptions = new List <Exception>(); Try( BeforeClose, () => BeforeClose = null, exceptions); Try( !exceptions.Any() ? (Action)CommitTransaction : (Action)RollbackTransaction, () => _transaction = null, exceptions); Try( CloseConnection, () => _connection = null, exceptions); if (exceptions.Any()) { ExceptionsUtility.Rethrow(exceptions.First()); } AfterClose?.Invoke(); AfterClose = null; }
internal void Close() { var args = new EventArgs(); try { Closing?.Invoke(this, args); } // ReSharper disable once EmptyGeneralCatchClause catch { } AfterClose?.Invoke(this, args); }
private void OnAfterClose(object sender, NavigateEventArgs e) { AfterClose?.Invoke(sender, e); }
protected virtual void OnAfterClose(object sender, NavigateEventArgs e) { AfterClose?.Invoke(sender, e); }
protected void DoAfterClose() { State = DatabaseState.Closed; AfterClose?.Invoke(this, new EventArgs()); }