Пример #1
0
 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() после отката транзакции.");
     }
 }
Пример #2
0
        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() после отката транзакции.");
            }
        }