protected void FillEntityNodesByJoin(JoinType join, EntityNode fromEntityNode, ArgumentNode toArgumentNode, Entity contextEntity) { toArgumentNode.filled = true; Collections.Enumerator <Entity> enumerator = Collections.GetEnumerator <Entity>(join.GetEntities(Flow.Current.NodeCollector, toArgumentNode.argument.NodeDescription, fromEntityNode.entity)); while (enumerator.MoveNext()) { EntityNode node; Entity current = enumerator.Current; if (((contextEntity == null) || contextEntity.Equals(current)) && toArgumentNode.TryGetEntityNode(current, out node)) { node.nextArgumentEntityNodes.Add(fromEntityNode); toArgumentNode.entityNodes.Add(node); } } }
private void FillEntityNodesByJoin(JoinType join, ICollection <Entity> contextEntities, EntityNode fromEntityNode, ArgumentNode toArgumentNode) { Collections.Enumerator <Entity> enumerator = Collections.GetEnumerator <Entity>(join.GetEntities(Flow.Current.NodeCollector, toArgumentNode.argument.NodeDescription, fromEntityNode.entity)); while (enumerator.MoveNext()) { EntityNode node; Entity current = enumerator.Current; if (!this.FilterByContext(toArgumentNode.argument, current, contextEntities) && toArgumentNode.TryGetEntityNode(current, out node)) { toArgumentNode.entityNodes.Add(node); fromEntityNode.nextArgumentEntityNodes.Add(node); } } }