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 }); }
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); }
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 }); }
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 }); }
public abstract void Delete(ref Soap.TransactionFramework.TransactionChain chain);
public abstract void Update(NodeType nodeType, ref Soap.TransactionFramework.TransactionChain chain);
public abstract void Update(RelationshipType relationshipType, ref Soap.TransactionFramework.TransactionChain chain);