/// <summary> /// Gets the product or category/refinement results list. /// </summary> /// <param name="listResultRequest">The list result request.</param> /// <returns>The list result response.</returns> public ListResultResponse GetList(ListResultRequest listResultRequest) { ListResultResponse listResultResponse = null; // Prepare request NameValueCollection queryParams = new NameValueCollection(); if (listResultRequest.Offset != null) { queryParams.Add("offset", listResultRequest.Offset.ToString()); } if (listResultRequest.NrProducts != null) { queryParams.Add("nrProducts", listResultRequest.NrProducts.ToString()); } if (listResultRequest.SortingMethod != null) { queryParams.Add("sortingMethod", EnumUtils.stringValueOf(listResultRequest.SortingMethod)); } if (listResultRequest.SortingAscending != null) { queryParams.Add("sortingAscending", listResultRequest.SortingAscending.ToString()); } if (listResultRequest.IncludeProducts != null) { queryParams.Add("includeProducts", listResultRequest.IncludeProducts.ToString()); } if (listResultRequest.IncludeCategories != null) { queryParams.Add("includeCategories", listResultRequest.IncludeCategories.ToString()); } if (listResultRequest.IncludeRefinements != null) { queryParams.Add("includeRefinements", listResultRequest.IncludeRefinements.ToString()); } if (listResultRequest.IncludeAttributes != null) { queryParams.Add("includeAttributes", listResultRequest.IncludeAttributes.ToString()); } string queryString = ToQueryString(queryParams); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL_PREFIX + "/catalog/v3/listresults/" + EnumUtils.stringValueOf(listResultRequest.Type) + "/" + HttpUtility.UrlEncode(combineCategoryAndRefinementIds(listResultRequest.CategoryId, listResultRequest.RefinementIds), UTF8Encoding.UTF8) + "/" + queryString); request.Method = "GET"; // Handle request AuthUtils.HandleRequest(request, accessKeyId, secretAccessKey, null, queryParams); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Load XML document if (HttpStatusCode.OK == response.StatusCode) { XmlSerializer ser = new XmlSerializer(typeof(ListResultResponse)); object obj = ser.Deserialize(response.GetResponseStream()); listResultResponse = (ListResultResponse)obj; response.Close(); } return(listResultResponse); }
/// <summary> /// Gets the product or category/refinement results list. /// </summary> /// <param name="listResultRequest">The list result request.</param> /// <returns>The list result response.</returns> public ListResultResponse GetList(ListResultRequest listResultRequest) { ListResultResponse listResultResponse = null; // Prepare request NameValueCollection queryParams = new NameValueCollection(); if (listResultRequest.Offset != null) { queryParams.Add("offset", listResultRequest.Offset.ToString()); } if (listResultRequest.NrProducts != null) { queryParams.Add("nrProducts", listResultRequest.NrProducts.ToString()); } if (listResultRequest.SortingMethod != null) { queryParams.Add("sortingMethod", EnumUtils.stringValueOf(listResultRequest.SortingMethod)); } if (listResultRequest.SortingAscending != null) { queryParams.Add("sortingAscending", listResultRequest.SortingAscending.ToString()); } if (listResultRequest.IncludeProducts != null) { queryParams.Add("includeProducts", listResultRequest.IncludeProducts.ToString()); } if (listResultRequest.IncludeCategories != null) { queryParams.Add("includeCategories", listResultRequest.IncludeCategories.ToString()); } if (listResultRequest.IncludeRefinements != null) { queryParams.Add("includeRefinements", listResultRequest.IncludeRefinements.ToString()); } if (listResultRequest.IncludeAttributes != null) { queryParams.Add("includeAttributes", listResultRequest.IncludeAttributes.ToString()); } string queryString = ToQueryString(queryParams); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL_PREFIX + "/catalog/v3/listresults/" + EnumUtils.stringValueOf(listResultRequest.Type) + "/" + HttpUtility.UrlEncode(combineCategoryAndRefinementIds(listResultRequest.CategoryId, listResultRequest.RefinementIds), UTF8Encoding.UTF8) + "/" + queryString); request.Method = "GET"; // Handle request AuthUtils.HandleRequest(request, accessKeyId, secretAccessKey, null, queryParams); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Load XML document if (HttpStatusCode.OK == response.StatusCode) { XmlSerializer ser = new XmlSerializer(typeof(ListResultResponse)); object obj = ser.Deserialize(response.GetResponseStream()); listResultResponse = (ListResultResponse)obj; response.Close(); } return listResultResponse; }