private static GetProductsByCategoryRequest GenerateProductSearchRequestFrom(JsonProductSearchRequest jsonRequest) { var request = new GetProductsByCategoryRequest(); request.NumberOfResultsPerPage = 6; request.CategoryId = jsonRequest.CategoryId; request.PageIndex = jsonRequest.PageIndex; request.SortBy = jsonRequest.SortBy; foreach (var item in jsonRequest.RefinementGroups) { switch ((RefinementGroupings)item.GroupId) { case RefinementGroupings.brand: request.BrandIds = item.SelectedRefinements ?? new int[0]; break; case RefinementGroupings.color: request.ColorIds = item.SelectedRefinements ?? new int[0]; break; case RefinementGroupings.size: request.SizeIds = item.SelectedRefinements ?? new int[0]; break; default: break; } } return(request); }
private static GetProductsByCategoryRequest GenerateProductSearchRequestFrom(JsonProductSearchRequest jsonProductSearchRequest) { GetProductsByCategoryRequest productSearchRequest = new GetProductsByCategoryRequest(); productSearchRequest.NumberOfResultsPerPage = ApplicationSettingsFactory.GetApplicationSettings().NumberOfResultsPerPage; productSearchRequest.Index = jsonProductSearchRequest.Index; productSearchRequest.CategoryId = jsonProductSearchRequest.CategoryId; productSearchRequest.SortBy = jsonProductSearchRequest.SortBy; List <RefinementGroup> refinementGroups = new List <RefinementGroup>(); RefinementGroup refinementGroup; foreach (JsonRefinementGroup jsonRefinementGroup in jsonProductSearchRequest.RefinementGroups) { switch ((RefinementGroupings)jsonRefinementGroup.GroupId) { case RefinementGroupings.brand: productSearchRequest.BrandIds = jsonRefinementGroup.SelectedRefinements; break; case RefinementGroupings.colour: productSearchRequest.ColourIds = jsonRefinementGroup.SelectedRefinements; break; case RefinementGroupings.size: productSearchRequest.SizeIds = jsonRefinementGroup.SelectedRefinements; break; default: break; } } return(productSearchRequest); }
public JsonResult GetProductsByAjax(JsonProductSearchRequest jsonProductSearchRequest) { GetProductsByCategoryRequest productSearchRequest = GenerateProductSearchRequestFrom(jsonProductSearchRequest); GetProductsByCategoryResponse response = _productService.GetProductsByCategory(productSearchRequest); ProductSearchResultView productSearchResultView = GetProductSearchResultViewFrom(response); return(Json(productSearchResultView)); }
public ActionResult GetProducts(JsonProductSearchRequest jsonRequest) { var request = GenerateProductSearchRequestFrom(jsonRequest); var response = _productCatalogService.GetProductsByCategory(request); var result = GetProductResultViewFrom(response); return(Json(result)); }