public override void Delete(ref TransactionFramework.TransactionChain chain) { base.Delete(ref chain); TransactionFramework.DeleteMetadataTransactionLink deleteMetadataTransction = new TransactionFramework.DeleteMetadataTransactionLink(); if (Node != null) { deleteMetadataTransction.DomainId = Node.DomainId; } else if (Relationship != null) { deleteMetadataTransction.DomainId = Relationship.DomainId; } deleteMetadataTransction.MapManager = MapManager; deleteMetadataTransction.Metadata = this; chain.AddTransaction(deleteMetadataTransction); /// TODO: Need to consider whether the following should be done here. It was originally done in the base but this really shouldn't happen for an InProcessMetadata as when add transaction /// returns (for the InProcessMetadata transaction link) the delete transaction still needs to occur. Proxy.MetadataSetFactory.GetInstance(MapManager).Remove(this); }