void IUpdatableMetadataSet.UpdateMetadataSet(ServerObjects.Metadata metadataSet) { if (BaseMetadata is IUpdatableMetadataSet) { IUpdatableMetadataSet updatableMetadataSet = BaseMetadata as IUpdatableMetadataSet; updatableMetadataSet.UpdateMetadataSet(metadataSet); } }
//public IMetadataSet GetMetadata(Guid metadataId) //{ // if (Metadata.ContainsKey(metadataId)) // { // return Metadata[metadataId]; // } // return null; //} public IMetadataSet GetMetadata(ServerObjects.Metadata serviceMetadata, INode node, IRelationship relationship) { IMetadataSet metadataSet = null; if (Metadata.ContainsKey(serviceMetadata.MetadataId)) { metadataSet = Metadata[serviceMetadata.MetadataId]; if (metadataSet is IUpdatableMetadataSet) { IUpdatableMetadataSet updatableMetadataSet = metadataSet as IUpdatableMetadataSet; updatableMetadataSet.UpdateMetadataSet(serviceMetadata); } } else { metadataSet = new Soap.SoapMetadataSet(MapManager, serviceMetadata, node, relationship); Metadata[metadataSet.Id] = metadataSet; } return(metadataSet); }