public IDictionary<String, String> ToDictionary()
{
IDictionary<String, String> parameters = new Dictionary<String, String>();
parameters.Add("Operation", "CartAdd");
List<CartAddRequest> requestList = Request;
foreach (CartAddRequest request in requestList)
{
if (request.IsSetCartId())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "CartId", request.CartId);
}
if (request.IsSetHMAC())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "HMAC", request.HMAC);
}
if (request.IsSetMergeCart())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "MergeCart", request.MergeCart);
}
if (request.IsSetItems())
{
CartAddItems items = request.Items;
List<CartAddItem> itemList = items.Item;
foreach (CartAddItem item in itemList)
{
if (item.IsSetASIN())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "Item" + "." + (itemList.IndexOf(item) + 1) + "." + "ASIN", item.ASIN);
}
if (item.IsSetOfferListingId())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "Item" + "." + (itemList.IndexOf(item) + 1) + "." + "OfferListingId", item.OfferListingId);
}
if (item.IsSetQuantity())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "Item" + "." + (itemList.IndexOf(item) + 1) + "." + "Quantity", item.Quantity + "");
}
if (item.IsSetAssociateTag())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "Item" + "." + (itemList.IndexOf(item) + 1) + "." + "AssociateTag", item.AssociateTag);
}
if (item.IsSetListItemId())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "Item" + "." + (itemList.IndexOf(item) + 1) + "." + "ListItemId", item.ListItemId);
}
List<MetaData> metaDataList = item.MetaData;
foreach (MetaData metaData in metaDataList)
{
if (metaData.IsSetKey())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "Item" + "." + (itemList.IndexOf(item) + 1) + "." + "MetaData" + "." + (metaDataList.IndexOf(metaData) + 1) + "." + "Key", metaData.Key);
}
if (metaData.IsSetValue())
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "Item" + "." + (itemList.IndexOf(item) + 1) + "." + "MetaData" + "." + (metaDataList.IndexOf(metaData) + 1) + "." + "Value", metaData.Value);
}
}
}
}
List<String> responseGroupList = request.ResponseGroup;
foreach (String responseGroup in responseGroupList)
{
parameters.Add("CartAdd" + "." + (requestList.IndexOf(request) + 1) + "." + "ResponseGroup" + "." + (responseGroupList.IndexOf(responseGroup) + 1), responseGroup.ToString());
}
}
return parameters;
}