/// <summary> /// The child collection. /// </summary> /// <param name="value"> /// The <see cref="ProductCollection"/>. /// </param> /// <param name="predicate"> /// An optional lambda expression /// </param> /// <returns> /// The <see cref="IEnumerable{ProductCollectionr}"/>. /// </returns> public static IEnumerable<IProductCollection> Children(this IProductCollection value, Expression<Func<IProductCollection, bool>> predicate = null) { return value.AsTreeNode().Children.Values(predicate); }
/// <summary> /// Gets the first ancestor matching the expression /// </summary> /// <param name="value"> /// The value. /// </param> /// <param name="predicate"> /// The predicate. /// </param> /// <returns> /// The <see cref="IProductCollection"/>. /// </returns> public static IProductCollection Ancestor(this IProductCollection value, Expression<Func<IProductCollection, bool>> predicate) { return value.AsTreeNode().Ancestors().Values(predicate).FirstOrDefault(); }
/// <summary> /// Gets the siblings of the <see cref="IProductCollection"/> including itself. /// </summary> /// <param name="value"> /// The value. /// </param> /// <param name="predicate"> /// An optional lambda expression /// </param> /// <returns> /// The <see cref="IEnumerable{IProductCollection}"/>. /// </returns> public static IEnumerable<IProductCollection> AncestorsOrSelf(this IProductCollection value, Expression<Func<IProductCollection, bool>> predicate = null) { return value.AsTreeNode().AncestorsOrSelf().Values(predicate); }
/// <summary> /// Gets the descendants of the <see cref="IProductCollection"/>. /// </summary> /// <param name="value"> /// The value. /// </param> /// <param name="predicate"> /// An optional lambda expression /// </param> /// <returns> /// The <see cref="IEnumerable{IProductCollection}"/>. /// </returns> public static IEnumerable<IProductCollection> Descendants(this IProductCollection value, Expression<Func<IProductCollection, bool>> predicate = null) { return value.AsTreeNode().Descendants().Values(predicate); }