public bool LoadNode(SoapRelationshipManager relationshipManager) { switch (Status) { case LoadState.None: return false; case LoadState.Partial: { IRelationshipManager relationships = Relationships; relationships.Clear(); break; } case LoadState.Full: break; default: return false; } Metadata.Clear(); foreach (KeyValuePair<ServerObjects.MetadataContext, ServerObjects.Metadata> metadataPair in ServiceNode.Metadata) { if (metadataPair.Value.RelationshipUid.HasValue && metadataPair.Value.RelationshipUid != Guid.Empty) { if (relationshipManager.ProxyRelationships.ContainsKey(metadataPair.Value.RelationshipUid.Value)) { IRelationship relationship = relationshipManager.ProxyRelationships[metadataPair.Value.RelationshipUid.Value]; Metadata.Load(metadataPair.Value, relationship); } else { return false; } } else if (metadataPair.Value.NodeUid.HasValue && metadataPair.Value.NodeUid != Guid.Empty) { Metadata.Load(metadataPair.Value, null); } } Status = LoadState.Full; ProcessDelayedActions(); return true; }
public bool LoadNode(SoapRelationshipManager relationshipManager) { switch (Status) { case LoadState.None: return(false); case LoadState.Partial: { IRelationshipManager relationships = Relationships; relationships.Clear(); break; } case LoadState.Full: break; default: return(false); } Metadata.Clear(); foreach (KeyValuePair <ServerObjects.MetadataContext, ServerObjects.Metadata> metadataPair in ServiceNode.Metadata) { if (metadataPair.Value.RelationshipUid.HasValue && metadataPair.Value.RelationshipUid != Guid.Empty) { if (relationshipManager.ProxyRelationships.ContainsKey(metadataPair.Value.RelationshipUid.Value)) { IRelationship relationship = relationshipManager.ProxyRelationships[metadataPair.Value.RelationshipUid.Value]; Metadata.Load(metadataPair.Value, relationship); } else { return(false); } } else if (metadataPair.Value.NodeUid.HasValue && metadataPair.Value.NodeUid != Guid.Empty) { Metadata.Load(metadataPair.Value, null); } } Status = LoadState.Full; ProcessDelayedActions(); return(true); }