private static GetProductsByCategoryRequest GenerateProductSearchRequestFrom(JsonProductSearchRequest request) { GetProductsByCategoryRequest productSearchRequest = new GetProductsByCategoryRequest(); productSearchRequest.NoOfResultsPerPage = int.Parse(ApplicationSettingsFactory.GetApplicationSettings().NoOfResultsPerPage); productSearchRequest.Index = request.Index; productSearchRequest.CategoryId = request.CategoryId; productSearchRequest.SortBy = request.SortBy; List<RefinementGroup> refinementGroups = new List<RefinementGroup>(); foreach (var jsonRefinementGroup in request.RefinementGroups) { switch ((RefinementGroupings)jsonRefinementGroup.GroupId) { case RefinementGroupings.brand: productSearchRequest.BrandIds = jsonRefinementGroup.SelectedRefinements; break; case RefinementGroupings.color: productSearchRequest.ColorIds = jsonRefinementGroup.SelectedRefinements; break; case RefinementGroupings.size: productSearchRequest.SizeIds = jsonRefinementGroup.SelectedRefinements; break; default: break; } } return productSearchRequest; }
public JsonResult GetProductsByAjax(JsonProductSearchRequest request) { GetProductsByCategoryRequest productSearchRequest = GenerateProductSearchRequestFrom(request); GetProductsByCategoryResponse response = _productService.GetProductsByCategory(productSearchRequest); ProductSearchResultView productSearchResultView = GetProductSearchResultViewFrom(response); return Json(productSearchResultView); }