private UpdateRelationshipTransactionLink CreateRelationshipUpdatedTransaction(DelayedRelationshipAction action) { UpdateRelationshipTransactionLink updateTransaction = null; if (RelationshipContext.Facade != null && RelationshipContext.Facade.IsConcrete) { updateTransaction = new UpdateRelationshipTransactionLink(); updateTransaction.DomainId = RelationshipContext.DomainId; updateTransaction.MapManager = RelationshipContext.MapManager; updateTransaction.Relationship = RelationshipContext.Facade; updateTransaction.RelationshipType = null; } return(updateTransaction); }
public void CreateTransactions(ref TransactionChain chain) { DeleteRelationshipTransactionLink deleteTransaction = null; UpdateRelationshipTransactionLink updateTransaction = null; foreach (DelayedRelationshipAction action in QueuedActions) { switch (action.Action) { case TransactionActionType.Deleted: deleteTransaction = CreateRelationshipDeletionTransaction(action); if (deleteTransaction != null) { chain.AddTransaction(deleteTransaction); } return; case TransactionActionType.Updated: updateTransaction = updateTransaction ?? CreateRelationshipUpdatedTransaction(action); updateTransaction.AddNode(action.ConnectionType, action.Node); break; case TransactionActionType.TypeUpdated: updateTransaction = updateTransaction ?? CreateRelationshipUpdatedTransaction(action); updateTransaction.RelationshipType = action.RelationshipType; break; default: break; } } if (updateTransaction != null) { chain.AddTransaction(updateTransaction); } }