private SubNavigationMenuItemModel Map(INodeModel nodeModel) { var result = new SubNavigationMenuItemModel { Id = nodeModel.Id, Name = nodeModel.Name, Url = nodeModel.Url, Active = IsActive(nodeModel.Id), CurrentItem = IsCurrentItem(nodeModel.Id) }; return(result); }
private void CollectSubItems(SubNavigationMenuItemModel item) { item.SubItems = GetChildren(item.Id).Reverse().Select(Map).ToList(); var activeItem = item.SubItems.SingleOrDefault(i => i.Active); if (activeItem == null) { return; } if (GetChildren(activeItem.Id).Any()) { CollectSubItems(activeItem); } }
protected virtual SubNavigationMenuItemModel MapToSubNavigationMenuItemModel(IPublishedContent publishedContent) { var isActive = CurrentPage.Path .ParseCollection(int.Parse) .Contains(publishedContent.Id); var result = new SubNavigationMenuItemModel { Id = publishedContent.Id, Name = GetNavigationName(publishedContent), Url = publishedContent.Url, IsActive = isActive }; return(result); }