Inheritance: ISoapTransactionLink, ISoapTransactionLinkExecutor
コード例 #1
0
        public override void Delete(ref Soap.TransactionFramework.TransactionChain chain)
        {
            if (Facade != null)
            {
                TransactionFramework.AddNodeTransactionLink addNodeTransaction = Facade.TransactionOrigin as TransactionFramework.AddNodeTransactionLink;

                if (addNodeTransaction != null)
                {
                    if (addNodeTransaction.TransactionStatus == TransactionFramework.ServerStatus.ProcessingClient)
                    {
                        TransactionFramework.DeleteNodeTransactionLink deleteTransaction = new TransactionFramework.DeleteNodeTransactionLink();

                        deleteTransaction.DomainId   = DomainId;
                        deleteTransaction.MapManager = MapManager;
                        deleteTransaction.Node       = Facade;

                        chain.AddTransaction(deleteTransaction);

                        return;
                    }
                }
            }

            DelayedActions.Enqueue(new DelayedNodeAction()
            {
                Action = Proxy.TransactionActionType.Deleted
            });
        }
コード例 #2
0
ファイル: SoapMapManager.cs プロジェクト: chris-tomich/Glyma
        public Proxy.INode CreateNode(Guid domainId, Guid rootMapId, Proxy.NodeType nodeType, string originalId, ref TransactionFramework.TransactionChain chain)
        {
            TransactionFramework.AddNodeTransactionLink createNodeTransaction = new TransactionFramework.AddNodeTransactionLink();
            createNodeTransaction.MapManager = this;
            createNodeTransaction.DomainId   = domainId;
            createNodeTransaction.RootMapId  = rootMapId;
            createNodeTransaction.NodeType   = nodeType;
            createNodeTransaction.OriginalId = originalId;

            chain.AddTransaction(createNodeTransaction);

            Proxy.INode node = createNodeTransaction.CreateInProcessObjects();

            return(node);
        }
コード例 #3
0
        public override void Update(Proxy.NodeType nodeType, ref Soap.TransactionFramework.TransactionChain chain)
        {
            if (Facade != null)
            {
                TransactionFramework.AddNodeTransactionLink addNodeTransaction = Facade.TransactionOrigin as TransactionFramework.AddNodeTransactionLink;

                if (addNodeTransaction != null)
                {
                    if (addNodeTransaction.TransactionStatus == TransactionFramework.ServerStatus.ProcessingClient)
                    {
                        addNodeTransaction.NodeType = nodeType;

                        return;
                    }
                }
            }

            DelayedActions.Enqueue(new DelayedNodeAction()
            {
                Action = Proxy.TransactionActionType.TypeUpdated, NodeType = nodeType
            });
        }
コード例 #4
0
ファイル: SoapMapManager.cs プロジェクト: chris-tomich/Glyma
        public Proxy.INode CreateNode(Guid domainId, Guid rootMapId, Proxy.NodeType nodeType, string originalId, ref TransactionFramework.TransactionChain chain)
        {
            TransactionFramework.AddNodeTransactionLink createNodeTransaction = new TransactionFramework.AddNodeTransactionLink();
            createNodeTransaction.MapManager = this;
            createNodeTransaction.DomainId = domainId;
            createNodeTransaction.RootMapId = rootMapId;
            createNodeTransaction.NodeType = nodeType;
            createNodeTransaction.OriginalId = originalId;

            chain.AddTransaction(createNodeTransaction);

            Proxy.INode node = createNodeTransaction.CreateInProcessObjects();

            return node;
        }