public override void Delete(ref Soap.TransactionFramework.TransactionChain chain) { if (Facade != null) { TransactionFramework.AddRelationshipTransactionLink addRelationshipTransaction = Facade.TransactionOrigin as TransactionFramework.AddRelationshipTransactionLink; if (addRelationshipTransaction != null) { if (addRelationshipTransaction.TransactionStatus == TransactionFramework.ServerStatus.ProcessingClient) { TransactionFramework.DeleteRelationshipTransactionLink deleteTransaction = new TransactionFramework.DeleteRelationshipTransactionLink(); deleteTransaction.DomainId = DomainId; deleteTransaction.MapManager = MapManager; deleteTransaction.Relationship = Facade; chain.AddTransaction(deleteTransaction); return; } } } DelayedActions.Enqueue(new DelayedRelationshipAction() { Action = Proxy.TransactionActionType.Deleted }); }
public override void Delete(ref TransactionFramework.TransactionChain chain) { MapManager.RelationshipFactory.DeleteRelationship(this); TransactionFramework.DeleteRelationshipTransactionLink deleteRelationship = new TransactionFramework.DeleteRelationshipTransactionLink(); deleteRelationship.DomainId = DomainId; deleteRelationship.MapManager = MapManager; deleteRelationship.Relationship = this; chain.AddTransaction(deleteRelationship); }
private TransactionFramework.DeleteRelationshipTransactionLink CreateRelationshipDeletionTransaction(DelayedRelationshipAction action) { TransactionFramework.DeleteRelationshipTransactionLink deleteTransaction = null; if (RelationshipContext.Facade != null && RelationshipContext.Facade.IsConcrete) { deleteTransaction = new TransactionFramework.DeleteRelationshipTransactionLink(); deleteTransaction.DomainId = RelationshipContext.DomainId; deleteTransaction.MapManager = RelationshipContext.MapManager; deleteTransaction.Relationship = RelationshipContext.Facade; } return deleteTransaction; }
private TransactionFramework.DeleteRelationshipTransactionLink CreateRelationshipDeletionTransaction(DelayedRelationshipAction action) { TransactionFramework.DeleteRelationshipTransactionLink deleteTransaction = null; if (RelationshipContext.Facade != null && RelationshipContext.Facade.IsConcrete) { deleteTransaction = new TransactionFramework.DeleteRelationshipTransactionLink(); deleteTransaction.DomainId = RelationshipContext.DomainId; deleteTransaction.MapManager = RelationshipContext.MapManager; deleteTransaction.Relationship = RelationshipContext.Facade; } return(deleteTransaction); }
public void CreateTransactions(ref TransactionFramework.TransactionChain chain) { TransactionFramework.DeleteRelationshipTransactionLink deleteTransaction = null; TransactionFramework.UpdateRelationshipTransactionLink updateTransaction = null; foreach (DelayedRelationshipAction action in QueuedActions) { switch (action.Action) { case TransactionalNodeService.Proxy.TransactionActionType.Deleted: deleteTransaction = CreateRelationshipDeletionTransaction(action); if (deleteTransaction != null) { chain.AddTransaction(deleteTransaction); } return; case TransactionalNodeService.Proxy.TransactionActionType.Updated: updateTransaction = updateTransaction ?? CreateRelationshipUpdatedTransaction(action); updateTransaction.AddNode(action.ConnectionType, action.Node); break; case TransactionalNodeService.Proxy.TransactionActionType.TypeUpdated: updateTransaction = updateTransaction ?? CreateRelationshipUpdatedTransaction(action); updateTransaction.RelationshipType = action.RelationshipType; break; default: break; } } if (updateTransaction != null) { chain.AddTransaction(updateTransaction); } }
public override void Delete(ref Soap.TransactionFramework.TransactionChain chain) { if (Facade != null) { TransactionFramework.AddRelationshipTransactionLink addRelationshipTransaction = Facade.TransactionOrigin as TransactionFramework.AddRelationshipTransactionLink; if (addRelationshipTransaction != null) { if (addRelationshipTransaction.TransactionStatus == TransactionFramework.ServerStatus.ProcessingClient) { TransactionFramework.DeleteRelationshipTransactionLink deleteTransaction = new TransactionFramework.DeleteRelationshipTransactionLink(); deleteTransaction.DomainId = DomainId; deleteTransaction.MapManager = MapManager; deleteTransaction.Relationship = Facade; chain.AddTransaction(deleteTransaction); return; } } } DelayedActions.Enqueue(new DelayedRelationshipAction() { Action = Proxy.TransactionActionType.Deleted }); }