public override void Delete(ref TransactionFramework.TransactionChain chain) { MapManager.NodeFactory.DeleteNode(this); TransactionFramework.DeleteNodeTransactionLink deleteNode = new TransactionFramework.DeleteNodeTransactionLink(); deleteNode.DomainId = DomainId; deleteNode.MapManager = MapManager; deleteNode.Node = this; chain.AddTransaction(deleteNode); }
private DeleteNodeTransactionLink CreateNodeDeletionTransaction(DelayedNodeAction action) { DeleteNodeTransactionLink deleteTransaction = null; if (NodeContext.Facade != null && NodeContext.Facade.IsConcrete) { deleteTransaction = new DeleteNodeTransactionLink(); deleteTransaction.DomainId = NodeContext.DomainId; deleteTransaction.MapManager = NodeContext.MapManager; deleteTransaction.Node = NodeContext.Facade; } return deleteTransaction; }
public override void Delete(ref Soap.TransactionFramework.TransactionChain chain) { if (Facade != null) { AddNodeTransactionLink addNodeTransaction = Facade.TransactionOrigin as AddNodeTransactionLink; if (addNodeTransaction != null) { if (addNodeTransaction.TransactionStatus == ServerStatus.ProcessingClient) { DeleteNodeTransactionLink deleteTransaction = new DeleteNodeTransactionLink(); deleteTransaction.DomainId = DomainId; deleteTransaction.MapManager = MapManager; deleteTransaction.Node = Facade; chain.AddTransaction(deleteTransaction); return; } } } DelayedActions.Enqueue(new DelayedNodeAction() { Action = TransactionActionType.Deleted }); }