private static GetProductsByCategoryRequest GenerateProductSearchRequestFrom(JsonProductSearchRequest jsonProductSearchRequest)
 {
     GetProductsByCategoryRequest productSearchRequest = new GetProductsByCategoryRequest();
     productSearchRequest.NumberOfResultsPerPage = int.Parse(ApplicationSettingsFactory.GetApplicationSettings().NumberOfResultsPerPage);
     productSearchRequest.Index = jsonProductSearchRequest.Index;
     productSearchRequest.CategoryId = jsonProductSearchRequest.CategoryId;
     productSearchRequest.SortBy = jsonProductSearchRequest.SortBy;
     //List<RefinementGroup> refinementGroups = new List<RefinementGroup>();
     //RefinementGroup refinementGroup;
     if (jsonProductSearchRequest.RefinementGroups != null)
     {
         foreach (JsonRefinementGroup jsonRefinementGroup in
         jsonProductSearchRequest.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 jsonProductSearchRequest)
 {
     GetProductsByCategoryRequest productSearchRequest =
     GenerateProductSearchRequestFrom(jsonProductSearchRequest);
     GetProductsByCategoryResponse response =
     _productService.GetProductsByCategory(productSearchRequest);
     ProductSearchResultView productSearchResultView =
     GetProductSearchResultViewFrom(response);
     return Json(productSearchResultView);
 }