public static List <SiteMapViewWidgetModel> Flatten(SiteMapViewWidgetModel root, List <SiteMapViewWidgetModel> items, int level, int?maxLevel) { var flattened = new List <SiteMapViewWidgetModel> (); if (maxLevel == null || maxLevel >= level) { var children = items.Where(item => item.Page.ParentPageId == root.Page.Id).ToList(); foreach (var child in children) { child.Children = Flatten(child, items, level + 1, maxLevel); flattened.Add(child); } } return(flattened); }
public static List<SiteMapViewWidgetModel> Flatten(SiteMapViewWidgetModel root, List<SiteMapViewWidgetModel> items, int level,int? maxLevel) { var flattened = new List<SiteMapViewWidgetModel> (); if (maxLevel==null || maxLevel>=level) { var children = items.Where(item => item.Page.ParentPageId == root.Page.Id).ToList(); foreach (var child in children) { child.Children = Flatten(child, items, level + 1, maxLevel); flattened.Add(child); } } return flattened; }