/// <summary> /// Buid Sub Navigation Model /// </summary> /// <param name="currentPageModel"></param> /// <returns></returns> public async Task <SubNavigationLinkModel> BuildAsync() { _website = _requestModelAccessor.RequestModel.WebsiteModel; _channel = _requestModelAccessor.RequestModel.ChannelModel; _page = _requestModelAccessor.RequestModel.CurrentPageModel; var contentLink = new SubNavigationLinkModel(); var filterNavigation = _website.GetNavigationType(); var pageTypeName = _page.GetPageType(); // sub navigation if (_routeRequestInfoAccessor.RouteRequestInfo?.Data is ProductPageData productCatalogData) { contentLink = filterNavigation == NavigationType.Category ? CreateProductCategoryNavigation(productCatalogData) : CreateProductFilterNavigation(productCatalogData); } else if (pageTypeName != PageTemplateNameConstants.Brand && pageTypeName != PageTemplateNameConstants.ProductList && pageTypeName != PageTemplateNameConstants.SearchResult) { contentLink = await CreatePageNavigationAsync(); } return(contentLink); }
/// <summary> /// Buid Sub Navigation Model /// </summary> /// <param name="currentPageModel"></param> /// <returns></returns> public SubNavigationLinkModel Build() { SubNavigationLinkModel contentLink = new SubNavigationLinkModel(); var filterNavigation = _website.GetNavigationType(); var productCatalogData = _routeRequestInfoAccessor.RouteRequestInfo?.Data as ProductPageData; var pageTypeName = _page.GetPageType(); // sub navigation if (productCatalogData != null) { contentLink = filterNavigation == NavigationType.Category ? CreateProductCategoryNavigation(productCatalogData) : CreateProductFilterNavigation(productCatalogData); } else if (pageTypeName != PageTemplateNameConstants.Brand && pageTypeName != PageTemplateNameConstants.ProductList && pageTypeName != PageTemplateNameConstants.SearchResult) { contentLink = CreatePageNavigation(); } return(contentLink); }