コード例 #1
0
        public override void Delete(ref Soap.TransactionFramework.TransactionChain chain)
        {
            if (Facade != null)
            {
                AddRelationshipTransactionLink addRelationshipTransaction = Facade.TransactionOrigin as AddRelationshipTransactionLink;

                if (addRelationshipTransaction != null)
                {
                    if (addRelationshipTransaction.TransactionStatus == ServerStatus.ProcessingClient)
                    {
                        DeleteRelationshipTransactionLink deleteTransaction = new DeleteRelationshipTransactionLink();

                        deleteTransaction.DomainId     = DomainId;
                        deleteTransaction.MapManager   = MapManager;
                        deleteTransaction.Relationship = Facade;

                        chain.AddTransaction(deleteTransaction);

                        return;
                    }
                }
            }

            DelayedActions.Enqueue(new DelayedRelationshipAction()
            {
                Action = TransactionActionType.Deleted
            });
        }
コード例 #2
0
ファイル: Relationship.cs プロジェクト: chris-tomich/Glyma
        public virtual void ConnectNode(ConnectionType connectionType, INode node, ref Soap.TransactionFramework.TransactionChain chain)
        {
            InProcess.InProcessRelationship inProcessRelationship = this as InProcess.InProcessRelationship;
            Proxy.ConnectionSet             connectionSet;

            if (inProcessRelationship != null)
            {
                connectionSet = Proxy.ConnectionSetFactory.Instance.GetConnection(node, inProcessRelationship.Facade, connectionType);
            }
            else
            {
                connectionSet = Proxy.ConnectionSetFactory.Instance.GetConnection(node, this, connectionType);
            }

            Proxy.INodeManager nodes = Nodes;
            nodes.Load(connectionSet);

            Proxy.IRelationshipManager relationships = node.Relationships;
            relationships.Load(connectionSet);
        }
コード例 #3
0
        public override void Update(RelationshipType relationshipType, ref Soap.TransactionFramework.TransactionChain chain)
        {
            if (Facade != null)
            {
                AddRelationshipTransactionLink addRelationshipTransaction = Facade.TransactionOrigin as AddRelationshipTransactionLink;

                if (addRelationshipTransaction != null)
                {
                    if (addRelationshipTransaction.TransactionStatus == ServerStatus.ProcessingClient)
                    {
                        addRelationshipTransaction.RelationshipType = relationshipType;

                        return;
                    }
                }
            }

            DelayedActions.Enqueue(new DelayedRelationshipAction()
            {
                Action = TransactionActionType.TypeUpdated, RelationshipType = relationshipType
            });
        }
コード例 #4
0
        public override void ConnectNode(ConnectionType connectionType, INode node, ref Soap.TransactionFramework.TransactionChain chain)
        {
            base.ConnectNode(connectionType, node, ref chain);

            if (Facade != null)
            {
                AddRelationshipTransactionLink addRelationshipTransaction = Facade.TransactionOrigin as AddRelationshipTransactionLink;

                if (addRelationshipTransaction != null)
                {
                    if (addRelationshipTransaction.TransactionStatus == ServerStatus.ProcessingClient)
                    {
                        addRelationshipTransaction.AddNode(connectionType, node);

                        return;
                    }
                }
            }

            DelayedActions.Enqueue(new DelayedRelationshipAction()
            {
                Action = TransactionActionType.Updated, ConnectionType = connectionType, Node = node
            });
        }
コード例 #5
0
ファイル: Node.cs プロジェクト: chris-tomich/Glyma
 public abstract void Delete(ref Soap.TransactionFramework.TransactionChain chain);
コード例 #6
0
ファイル: Node.cs プロジェクト: chris-tomich/Glyma
 public abstract void Update(NodeType nodeType, ref Soap.TransactionFramework.TransactionChain chain);
コード例 #7
0
ファイル: Relationship.cs プロジェクト: chris-tomich/Glyma
 public abstract void Update(RelationshipType relationshipType, ref Soap.TransactionFramework.TransactionChain chain);