internal RelationshipGraphNode(EntityToken entityToken, int level, RelationshipGraphNodeType relationshipGraphNodeType) { this.EntityToken = entityToken; this.Level = level; this.NodeType = relationshipGraphNodeType; this.ChildNode = null; this.ParentNodes = new List <RelationshipGraphNode>(); }
internal RelationshipGraphNode(EntityToken entityToken, int level, RelationshipGraphNodeType relationshipGraphNodeType) { this.EntityToken = entityToken; this.Level = level; this.NodeType = relationshipGraphNodeType; this.ChildNode = null; this.ParentNodes = new List<RelationshipGraphNode>(); }
private void AddNewParentEntityTokens(RelationshipGraphNode childNode, IEnumerable <EntityToken> parents, RelationshipGraphNodeType nodeType, int levelNumber) { int newLevelNumber = levelNumber + 1; List <RelationshipGraphNode> levelNodes; if (!_levels.TryGetValue(newLevelNumber, out levelNodes)) { levelNodes = new List <RelationshipGraphNode>(); _levels.Add(newLevelNumber, levelNodes); } foreach (EntityToken parent in parents) { if (parent == null) { continue; } if (_visitedEntityTokens.Contains(parent)) { if (_excludeReoccuringNodes) { continue; // We have already visited this entity token, no new information here } } else { _visitedEntityTokens.Add(parent); } var parentNode = new RelationshipGraphNode(parent, newLevelNumber, nodeType); levelNodes.Add(parentNode); childNode.ParentNodes.Add(parentNode); parentNode.ChildNode = childNode; _moreLevelsToExpend = true; } }
private void AddNewParentEntityTokens(RelationshipGraphNode childNode, IEnumerable<EntityToken> parents, RelationshipGraphNodeType nodeType, int levelNumber) { int newLevelNumber = levelNumber + 1; List<RelationshipGraphNode> levelNodes; if (!_levels.TryGetValue(newLevelNumber, out levelNodes)) { levelNodes = new List<RelationshipGraphNode>(); _levels.Add(newLevelNumber, levelNodes); } foreach (EntityToken parent in parents) { if(parent == null) { continue; } if (_visitedEntityTokens.Contains(parent)) { if (_excludeReoccuringNodes) { continue; // We have already visisted this entity token, no new information here } } else { _visitedEntityTokens.Add(parent); } var parentNode = new RelationshipGraphNode(parent, newLevelNumber, nodeType); levelNodes.Add(parentNode); childNode.ParentNodes.Add(parentNode); parentNode.ChildNode = childNode; _moreLevelsToExpend = true; } }