public ActionResult GetProductsByCategory(int categoryId)
        {
            GetProductByCategoryRequest request = GenerateInitialProductSearchRequestFrom(categoryId);

            GetProductByCategoryResponse response = _productCatalogService.GetProductsByCategory(request);

            ProductSearchResultView productSearchResultView = GetProductSearchResultViewFrom(response);

            return(View("ProductSearchResultView", productSearchResultView));
        }
        private ProductSearchResultView GetProductSearchResultViewFrom(GetProductByCategoryResponse response)
        {
            ProductSearchResultView productSearchResultView = new ProductSearchResultView();

            productSearchResultView.Categories            = base.GetAllCategoriesHavingAccess(1);
            productSearchResultView.CurrentPage           = response.CurrentPage;
            productSearchResultView.NumberOfProductsFound = response.NumberOfProductsFound;
            productSearchResultView.Products             = response.Products;
            productSearchResultView.RefinementGroups     = response.RefinementGroups;
            productSearchResultView.SelectedCategory     = response.SelectedCategory;
            productSearchResultView.SelectedCategoryName = response.SelectedCategoryName;
            productSearchResultView.TotalNoOfPages       = response.TotalNumberOfPages;
            productSearchResultView.RetailerId           = 1;

            return(productSearchResultView);
        }
Esempio n. 3
0
        public static GetProductByCategoryResponse CreateProductSearchResultFrom(
            this IEnumerable <Catalog> productMatchingRefinements, GetProductByCategoryRequest request)
        {
            GetProductByCategoryResponse productSearchResultView = new GetProductByCategoryResponse();

            IEnumerable <Product> productsFound = productMatchingRefinements.Select(p => p.Product).Distinct();

            productSearchResultView.SelectedCategory      = request.CategoryId;
            productSearchResultView.NumberOfProductsFound = productsFound.Count();
            productSearchResultView.TotalNumberOfPages    = NoOfResultPagesGiven(
                request.NumberOfResultsPerPage, productSearchResultView.NumberOfProductsFound);

            productSearchResultView.RefinementGroups = GenerateAvailableProductRefinementsFrom(productsFound);

            productSearchResultView.Products = CropProductListToSatisfyGivenIndex(
                request.Index, request.NumberOfResultsPerPage, productMatchingRefinements);


            return(productSearchResultView);
        }
        public JsonResult GetProductsByAjax(GetProductByCategoryRequest request)
        {
            GetProductByCategoryResponse response = new GetProductByCategoryResponse();

            return(Json(response, JsonRequestBehavior.AllowGet));
        }