/// <summary> /// Возвращает коллекцию узлов, которые исходят по определенной связи из всех нижележащих узов по определенной вложенной входящей связи. /// </summary> /// <param name="node">Узел</param> /// <param name="relationNameTo">Наименование вложенной входящей связи.</param> /// <param name="relationNameFrom">Наименование исходящей связи.</param> /// <returns>Коллекция узлов.</returns> public static IReadOnlyNodeCollection ToNestedFrom(this IReadOnlyNode node, string relationNameTo, string relationNameFrom) { return(new NodeCollection(node.ToNested(relationNameTo).SelectMany(x => x.From(relationNameFrom)))); }
/// <summary> /// Возвращает коллекцию узлов, которые входят по определенной связи из всех нижележащих узов по определенной вложенной входящей связи. /// </summary> /// <param name="node">Узел</param> /// <param name="firstRelationNameTo">Наименование вложенной входящей связи.</param> /// <param name="secondRelationNameTo">Наименование входящей связи.</param> /// <returns>Коллекция узлов.</returns> public static IReadOnlyNodeCollection ToNestedTo(this IReadOnlyNode node, string firstRelationNameTo, string secondRelationNameTo) { return(new NodeCollection(node.ToNested(firstRelationNameTo).SelectMany(x => x.To(secondRelationNameTo)))); }
/// <summary> /// Возвращает коллекцию узлов, которые вложенно входят по связи <see cref="Relations.IsA"/>. /// </summary> /// <param name="node">Узел</param> /// <returns>Коллекция узлов.</returns> public static IReadOnlyNodeCollection ToIsANested(this IReadOnlyNode node) { return(node.ToNested(Relations.IsA)); }