Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
        }