Esempio n. 1
0
        /// <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);
        }