private TransactionFramework.UpdateRelationshipTransactionLink CreateRelationshipUpdatedTransaction(DelayedRelationshipAction action) { TransactionFramework.UpdateRelationshipTransactionLink updateTransaction = null; if (RelationshipContext.Facade != null && RelationshipContext.Facade.IsConcrete) { updateTransaction = new TransactionFramework.UpdateRelationshipTransactionLink(); updateTransaction.DomainId = RelationshipContext.DomainId; updateTransaction.MapManager = RelationshipContext.MapManager; updateTransaction.Relationship = RelationshipContext.Facade; updateTransaction.RelationshipType = null; } return updateTransaction; }
public override void Update(Proxy.RelationshipType relationshipType, ref TransactionFramework.TransactionChain chain) { RelationshipType = relationshipType; if (LastUpdateRelationship != null && LastUpdateRelationship.TransactionStatus == TransactionFramework.ServerStatus.ProcessingClient) { LastUpdateRelationship.RelationshipType = relationshipType; } else { LastUpdateRelationship = CreateNewUpdateRelationship(); LastUpdateRelationship.RelationshipType = relationshipType; chain.AddTransaction(LastUpdateRelationship); } chain.TransactionExecuting += OnTransactionExecuting; }
private void OnTransactionExecuting(object sender, EventArgs e) { LastUpdateRelationship = null; }
public override void ConnectNode(Proxy.ConnectionType connectionType, Proxy.INode node, ref TransactionFramework.TransactionChain chain) { base.ConnectNode(connectionType, node, ref chain); if (LastUpdateRelationship != null && LastUpdateRelationship.TransactionStatus == TransactionFramework.ServerStatus.ProcessingClient) { LastUpdateRelationship.AddNode(connectionType, node); } else { LastUpdateRelationship = CreateNewUpdateRelationship(); LastUpdateRelationship.AddNode(connectionType, node); chain.AddTransaction(LastUpdateRelationship); } chain.TransactionExecuting += OnTransactionExecuting; }
private TransactionFramework.UpdateRelationshipTransactionLink CreateNewUpdateRelationship() { TransactionFramework.UpdateRelationshipTransactionLink updateRelationship = new TransactionFramework.UpdateRelationshipTransactionLink(); updateRelationship.DomainId = DomainId; updateRelationship.MapManager = MapManager; updateRelationship.Relationship = this; updateRelationship.RelationshipType = null; return updateRelationship; }