/// <summary>Commits the transaction.</summary> public void Commit() { if (isOriginator && !transaction.WasCommitted && !transaction.WasRolledBack) { logger.InfoFormat("Committing {0}", transaction.GetHashCode()); transaction.Commit(); IsCommitted = true; RemoveFromContext(); OnCommit(); } else { logger.WarnFormat("Not commiting {0}, isOriginator:{1}, wasCommitted:{2}, wasRolledBack:{3}", transaction.GetHashCode(), isOriginator, transaction.WasCommitted, transaction.WasRolledBack); } }
public NHTransaction(ISessionProvider sessionProvider) { context = sessionProvider.OpenSession; ISession session = context.Session; transaction = session.Transaction; if (transaction.IsActive) isOriginator = false; // The method that first opened the transaction should also close it else if (sessionProvider.Isolation.HasValue) transaction.Begin(sessionProvider.Isolation.Value); else transaction.Begin(); logger.InfoFormat("Begin {0}, transaction:{1}, isOriginator:{2}, isolation:{3} [", GetHashCode(), transaction.GetHashCode(), isOriginator, sessionProvider.Isolation); logger.Indent(); if (context.Transaction != null) { context.Transaction.Committed += (o, s) => OnCommit(); context.Transaction.Disposed += (o, s) => OnDispose(); context.Transaction.Rollbacked += (o, s) => OnRollback(); } }
public NHTransaction(ISessionProvider sessionProvider) { context = sessionProvider.OpenSession; ISession session = context.Session; transaction = session.Transaction; if (transaction.IsActive) { isOriginator = false; // The method that first opened the transaction should also close it } else if (sessionProvider.Isolation.HasValue) { transaction.Begin(sessionProvider.Isolation.Value); } else { transaction.Begin(); } logger.InfoFormat("Begin {0}, transaction:{1}, isOriginator:{2}, isolation:{3} [", GetHashCode(), transaction.GetHashCode(), isOriginator, sessionProvider.Isolation); logger.Indent(); if (context.Transaction != null) { context.Transaction.Committed += (o, s) => OnCommit(); context.Transaction.Disposed += (o, s) => OnDispose(); context.Transaction.Rollbacked += (o, s) => OnRollback(); } }