public void Commit() { if (NHSession.IsNotNull()) { if (NHSession.Transaction.IsActive) { NHSession.Transaction.Commit(); NHSession.Transaction.Begin(IsolationLevel.ReadCommitted); } else { throw new Exception("Не можем произвести Commit(): текущая транзакция у NHSession не активна."); } } else { throw new Exception("Нет информации о текущей NHSession: по всей видимости не был вызван Begin() после отката транзакции."); } }
public void Rollback() { if (NHSession.IsNotNull()) { if (NHSession.Transaction.IsActive) { NHSession.Transaction.Rollback(); } else { throw new Exception("Не можем произвести Rollback(): текущая транзакция у NHSession не активна."); } NHSession.Close(); NHSession.Dispose(); NHSession = null; } else { throw new Exception("Нет информации о текущей NHSession: по всей видимости не был вызван Begin() после отката транзакции."); } }