public void CreateTransactions(ref TransactionChain chain) { foreach (DelayedMetadataAction action in QueuedActions) { switch (action.Action) { case TransactionActionType.Deleted: // As this is metadata that hasn't yet been created, we don't need to delete it, we just do nothing with it. return; case TransactionActionType.Updated: { UpdateMetadataTransactionLink updateMetadataTransaction = CreateMetadataUpdateTransaction(action); if (updateMetadataTransaction != null) { chain.AddTransaction(updateMetadataTransaction); } break; } default: break; } } }
private UpdateMetadataTransactionLink CreateMetadataUpdateTransaction(DelayedMetadataAction action) { UpdateMetadataTransactionLink updateMetadataTransaction = null; if (MetadataContext.Facade != null && MetadataContext.Facade.IsConcrete) { updateMetadataTransaction = new UpdateMetadataTransactionLink(); updateMetadataTransaction.DomainId = action.DomainId; updateMetadataTransaction.MapManager = MetadataContext.MapManager; updateMetadataTransaction.Metadata = MetadataContext.Facade; updateMetadataTransaction.Name = action.Name; updateMetadataTransaction.Value = action.Value; } return(updateMetadataTransaction); }