public bool LoadNode(SoapRelationshipManager relationshipManager) { switch (Status) { case Proxy.LoadState.None: return false; case TransactionalNodeService.Proxy.LoadState.Partial: { Proxy.IRelationshipManager relationships = Relationships; relationships.Clear(); break; } case TransactionalNodeService.Proxy.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)) { Proxy.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 = Proxy.LoadState.Full; ProcessDelayedActions(); return true; }
public bool LoadNode(SoapRelationshipManager relationshipManager) { switch (Status) { case Proxy.LoadState.None: return(false); case TransactionalNodeService.Proxy.LoadState.Partial: { Proxy.IRelationshipManager relationships = Relationships; relationships.Clear(); break; } case TransactionalNodeService.Proxy.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)) { Proxy.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 = Proxy.LoadState.Full; ProcessDelayedActions(); return(true); }