public Navigation(INavigationBuilder <TNavigationItem> builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } _items = builder.BuildNavigation(); Active = _items.FirstOrDefault(x => x.IsActive) ?? _items.SelectMany(x => x.Descendants).FirstOrDefault(x => x.IsActive); }
public BreadcrumbNavigation(INavigationBuilder <TNavigationItem> builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var navItems = builder.BuildNavigation(); var breadcrumbs = new List <TNavigationItem>(); Active = navItems.FirstOrDefault(x => x.IsActive) ?? navItems.SelectMany(x => x.Descendants).FirstOrDefault(x => x.IsActive); if (Active != null) { breadcrumbs = Active.Ancestors.ToList(); breadcrumbs.Add(Active); } _items = breadcrumbs; }