private void OnTransactionClosed(DesignerHostTransaction raiser, TransactionAction action)
        {
            bool commit          = false;
            bool lastTransaction = false;

            if (_transactions.Peek() != raiser)
            {
                throw new InvalidOperationException("Current transaction differs from the one a commit was requested for.");
            }

            if (_transactions.Count == 1)
            {
                lastTransaction = true;
            }
            if (action == TransactionAction.Commit)
            {
                commit = true;
            }

            _transactions.Pop();

            if (TransactionClosed != null)
            {
                TransactionClosed(this, new DesignerTransactionCloseEventArgs(commit, lastTransaction));
            }
        }
示例#2
0
        private void OnTransactionClosing(DesignerHostTransaction raiser, bool commit)
        {
            bool lastTransaction = false;

            if (_transactions.Count > 0 && _transactions.Peek() == raiser)
            {
                lastTransaction = true;
            }

            if (TransactionClosing != null)
            {
                TransactionClosing(this, new DesignerTransactionCloseEventArgs(commit, lastTransaction));
            }
        }
        public DesignerTransaction CreateTransaction(string description)
        {
            if (TransactionOpening != null)
            {
                TransactionOpening(this, EventArgs.Empty);
            }

            DesignerHostTransaction transaction = new DesignerHostTransaction(this, description);

            _transactions.Push(transaction);

            if (TransactionOpened != null)
            {
                TransactionOpened(this, EventArgs.Empty);
            }

            return(transaction);
        }
示例#4
0
		private void OnTransactionClosed (DesignerHostTransaction raiser, bool commit)
		{
			bool lastTransaction = false;
			if (_transactions.Count > 0 && _transactions.Peek() == raiser) {
				lastTransaction = true;
				_transactions.Pop ();
			}
				
			if (TransactionClosed != null)
				TransactionClosed (this, new DesignerTransactionCloseEventArgs (commit, lastTransaction));
		}
示例#5
0
		public DesignerTransaction CreateTransaction (string description)
		{
			if (TransactionOpening != null)
				TransactionOpening (this, EventArgs.Empty);
			
			DesignerHostTransaction transaction = new DesignerHostTransaction (this, description);
			_transactions.Push (transaction);

			if (TransactionOpened != null)
				TransactionOpened (this, EventArgs.Empty);
			
			return transaction;
		}
示例#6
0
		private void OnTransactionClosed (DesignerHostTransaction raiser, TransactionAction action)
		{
			bool commit = false;
			bool lastTransaction = false;

			if (_transactions.Peek () != raiser)
				throw new InvalidOperationException ("Current transaction differs from the one a commit was requested for.");

			if (_transactions.Count == 1)
				lastTransaction = true;
			if (action == TransactionAction.Commit)
				commit = true;

			_transactions.Pop ();

			if (TransactionClosed != null)
				TransactionClosed (this, new DesignerTransactionCloseEventArgs (commit, lastTransaction));
		}