コード例 #1
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();
            }
        }
コード例 #2
0
        public NHTransaction(IsolationLevel?isolation, ISessionProvider sessionProvider)
        {
            var 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 (isolation.HasValue)
            {
                transaction.Begin(isolation.Value);
            }
            else
            {
                transaction.Begin();
            }

            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 プロジェクト: jhang/n2cms
 public NHTransaction(IsolationLevel? isolation, ISessionProvider sessionProvider)
 {
     ISession session = sessionProvider.OpenSession.Session;
     transaction = session.Transaction;
     if (transaction.IsActive)
         isOriginator = false; // The method that first opened the transaction should also close it
     else if (isolation.HasValue)
         transaction.Begin(isolation.Value);
     else
         transaction.Begin();
 }
コード例 #4
0
ファイル: Transaction.cs プロジェクト: alienblog/ahcms
        public Transaction(NH.ISession session)
        {
            transaction = session.Transaction;

            if (transaction.IsActive)
                isOriginator = false; // The method that first opened the transaction should also close it
            else
                transaction.Begin();
        }
コード例 #5
0
ファイル: NHTransaction.cs プロジェクト: Jobu/n2cms
 public NHTransaction(ISessionProvider sessionProvider)
 {
     ISession session = sessionProvider.OpenSession.Session;
     transaction = session.Transaction;
     if (transaction.IsActive)
         isOriginator = false; // The method that first opened the transaction should also close it
     else
         transaction.Begin();
 }
コード例 #6
0
        public NHTransaction(IsolationLevel? isolation, ISessionProvider sessionProvider)
        {
            var 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 (isolation.HasValue)
                transaction.Begin(isolation.Value);
            else
                transaction.Begin();

            if (context.Transaction != null)
            {
                context.Transaction.Committed += (o, s) => OnCommit();
                context.Transaction.Disposed += (o, s) => OnDispose();
                context.Transaction.Rollbacked += (o, s) => OnRollback();
            }
        }
コード例 #7
0
ファイル: Transaction.cs プロジェクト: alienblog/ahcms
        public Transaction(NH.ISession session)
        {
            transaction = session.Transaction;

            if (transaction.IsActive)
            {
                isOriginator = false; // The method that first opened the transaction should also close it
            }
            else
            {
                transaction.Begin();
            }
        }
コード例 #8
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();
			}
		}
コード例 #9
0
        public NHTransaction(ISessionProvider sessionProvider)
        {
            ISession session = sessionProvider.OpenSession.Session;

            transaction = session.Transaction;
            if (transaction.IsActive)
            {
                isOriginator = false; // The method that first opened the transaction should also close it
            }
            else
            {
                transaction.Begin();
            }
        }