Beispiel #1
0
        private async Task <IActionResult> GetAsync(bool withHtmlResult)
        {
            if (_requestModelAccessor.RequestModel.CurrentPageModel == null)
            {
                return(Ok());
            }
            var result        = new FacetSearchResult();
            var productFilter = await _filterProductViewModelBuilder.BuildAsync();

            if (productFilter != null)
            {
                if (withHtmlResult)
                {
                    result.ProductsView = await this.RenderViewAsync(GetViewName(), productFilter.ViewData, true);
                }
                result.SortCriteria = _categoryFilteringViewModelBuilder.Build(productFilter.TotalCount);
            }
            result.FacetFilters  = (await _filterViewModelBuilder.BuildAsync())?.Items.Select(c => c.MapTo <FacetGroupFilter>());
            result.SubNavigation = await _subNavigationViewModelBuilder.BuildAsync();

            result.NavigationTheme = _requestModelAccessor.RequestModel.WebsiteModel.GetNavigationType().ToString().ToCamelCase();

            return(Ok(result));
        }
 public async Task <IViewComponentResult> InvokeAsync()
 {
     return(View("~/Views/Navigation/SubNavigationCategory.cshtml", await _subNavigationViewModelBuilder.BuildAsync()));
 }