コード例 #1
0
ファイル: NHTransaction.cs プロジェクト: lisamariet/n2cms
        /// <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);
            }
        }
コード例 #2
0
ファイル: NHTransaction.cs プロジェクト: rohancragg/n2cms
		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();
			}
		}
コード例 #3
0
ファイル: NHTransaction.cs プロジェクト: lisamariet/n2cms
        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();
            }
        }