Example #1
0
        public async Task ItemSearch()
        {
            IWalmartClient walmartClient = new HttpWalmartClient();
            WalmartResult <ItemLookupResponse> result = await walmartClient.ItemLookupAsync("12417832,19336123", null);

            //WalmartResult<ItemLookupResponse> result = await walmartClient.ItemLookupAsync("12417832", null);

            Assert.IsFalse(result.IsError);
        }
Example #2
0
        /// <inheritdoc />
        public async Task <WalmartResult <ItemLookupResponse> > ItemLookupAsync(string itemIDs, string[] upcs)
        {
            //conditions
            Condition.Requires(itemIDs).IsNotNull();
            Condition.Requires(itemIDs.Count()).IsGreaterThan(0);

            //create the payload to pass
            var payload = new ItemLookupRequest(this.apiKey, this.lsPublisherId, itemIDs);

            //serialize object
            var keyValueContent = payload.ToKeyValue();

            //encode as url content
            var formUrlEncodedContent = new FormUrlEncodedContent(keyValueContent);

            //create the URI
            string uri = WalmartInformation.ItemsEndpoint + "?" + await formUrlEncodedContent.ReadAsStringAsync();

            //post it and get the response
            HttpResponseMessage response = await this.httpClient.GetAsync(uri);//.PostAsync(WalmartInformation.ItemsEndpoint, content);

            //read the string
            string responseJson = await response.Content.ReadAsStringAsync();

            //create the result
            WalmartResult <ItemLookupResponse> result = new WalmartResult <ItemLookupResponse>(responseJson);

            //is it ok
            if (response.StatusCode == HttpStatusCode.OK)
            {
                ItemLookupResponse itemLookupResponse = JsonConvert.DeserializeObject <ItemLookupResponse>(responseJson);
                result.Value = itemLookupResponse;
            }

            //parse the exception
            result.Exception = await this.ParseException(response, responseJson);

            //return
            return(result);
        }