AmazonMWS1.GetMatchingProduct.InvokeGetLowestOfferListingsForASIN C# (CSharp) Method

InvokeGetLowestOfferListingsForASIN() public static method

public static InvokeGetLowestOfferListingsForASIN ( MarketplaceWebServiceProducts service, GetLowestOfferListingsForASINRequest request ) : void
service MarketplaceWebServiceProducts
request MarketplaceWebServiceProducts.Model.GetLowestOfferListingsForASINRequest
return void
        public static void InvokeGetLowestOfferListingsForASIN(MarketplaceWebServiceProducts service,
                                                               GetLowestOfferListingsForASINRequest request)
        {
            int newConditionCount = 0;
            int usedConditionCount = 0;
            int totalOfferCount = 0;

            try{
                GetLowestOfferListingsForASINResponse response = service.GetLowestOfferListingsForASIN(request);

                List<GetLowestOfferListingsForASINResult> getLowestOfferListingsForASINResultList =
                    response.GetLowestOfferListingsForASINResult;
                foreach (
                    GetLowestOfferListingsForASINResult getLowestOfferListingsForASINResult in
                        getLowestOfferListingsForASINResultList){
                    if (getLowestOfferListingsForASINResult.IsSetProduct()){
                        Product product = getLowestOfferListingsForASINResult.Product;

                        //Listing Price, shipping amount, conditions, and subconditions for new, used, all for the LOWEST 3.

                        if (product.IsSetLowestOfferListings()){
                            LowestOfferListingList lowestOfferListings = product.LowestOfferListings;
                            List<LowestOfferListingType> lowestOfferListingList =
                                lowestOfferListings.LowestOfferListing;
                            foreach (LowestOfferListingType lowestOfferListing in lowestOfferListingList){
                                if (lowestOfferListing.IsSetQualifiers()){
                                    QualifiersType qualifiers = lowestOfferListing.Qualifiers;
                                    PriceType price = lowestOfferListing.Price;

                                    if (qualifiers.IsSetItemCondition()){
                                        if (newConditionCount < 3){
                                            if (qualifiers.ItemCondition.Equals("New")){
                                                newConditions[newConditionCount] = qualifiers.ItemCondition;
                                                if (qualifiers.IsSetItemSubcondition()){
                                                    newSubConditions[newConditionCount] =
                                                        qualifiers.ItemSubcondition;
                                                }

                                                if (price.IsSetListingPrice()){
                                                    MoneyType listingPrice = price.ListingPrice;
                                                    newListingPrice[newConditionCount] =
                                                        Convert.ToString(listingPrice.Amount);
                                                }
                                                if (price.IsSetShipping()){
                                                    MoneyType shippingPrice = price.Shipping;
                                                    newShippingPrice[newConditionCount] =
                                                        Convert.ToString(shippingPrice.Amount);
                                                }

                                                Console.WriteLine(
                                                    "NewConditions: {0} NewSubCondition: {1} NewListingPrice {2} NewShippingPrice: {3}\n",
                                                    newConditions[newConditionCount],
                                                    newSubConditions[newConditionCount],
                                                    newListingPrice[newConditionCount],
                                                    newShippingPrice[newConditionCount]);
                                                newConditionCount++;
                                            }
                                        }
                                        if (usedConditionCount < 3){
                                            if (qualifiers.ItemCondition.Equals("Used")){
                                                usedConditions[usedConditionCount] = qualifiers.ItemCondition;
                                                if (qualifiers.IsSetItemSubcondition()){
                                                    usedSubConditions[usedConditionCount] =
                                                        qualifiers.ItemSubcondition;
                                                }
                                                if (price.IsSetListingPrice()){
                                                    MoneyType listingPrice = price.ListingPrice;
                                                    usedListingPrice[usedConditionCount] =
                                                        Convert.ToString(listingPrice.Amount);
                                                }
                                                if (price.IsSetShipping()){
                                                    MoneyType shippingPrice = price.Shipping;
                                                    usedShippingPrice[usedConditionCount] =
                                                        Convert.ToString(shippingPrice.Amount);
                                                }
                                                Console.WriteLine(
                                                    "UsedConditions: {0} UsedSubCondition: {1} UsedListingPrice {2} UsedShippingPrice: {3}\n",
                                                    usedConditions[usedConditionCount],
                                                    usedSubConditions[usedConditionCount],
                                                    usedListingPrice[usedConditionCount],
                                                    usedShippingPrice[usedConditionCount]);
                                                usedConditionCount++;
                                            }
                                        }
                                    }
                                    totalOfferCount++;
                                }
                            }
                        }
                    }
                }
                totalCount = Convert.ToString(totalOfferCount);
                Console.WriteLine("The Total Count: " + totalCount);
            }
            catch (MarketplaceWebServiceProductsException ex){
                Console.WriteLine("Caught Exception: " + ex.Message);
                Console.WriteLine("Response Status Code: " + ex.StatusCode);
                Console.WriteLine("Error Code: " + ex.ErrorCode);
                Console.WriteLine("Error Type: " + ex.ErrorType);
                Console.WriteLine("Request ID: " + ex.RequestId);
                Console.WriteLine("XML: " + ex.XML);
                Console.WriteLine("ResponseHeaderMetadata: " + ex.ResponseHeaderMetadata);
            }
        }