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);
}
}