Допустим, у меня есть следующие данные (в псевдокоде для удобства чтения):
var myVariations = [
{ Name = "Color", Values = ["Red", "Yellow", "Green" /*, etc. */] },
{ Name = "Size", Values = ["S", "M", "L" /*, etc. */] },
{ Name = "Length", Values = ["34", "35", "36" /*, etc. */] },
/* and so on...(up to 5 total) */
];
И я могу получить эти данные с помощью LINQ следующим образом:
var myVariations = myProduct.Variations.ToList();
Как я могу сопоставить эти варианты с такой структурой (для eBay Trading API):
var ebayVariations = [
{
Name = "Red-S-34",
Value = [
// yes, these are arrays with only one item
{ Name = "Color", Values = [{Value = "Red"}] },
{ Name = "Size", Values = [{Value = "S"}] },
{ Name = "Length", Values = [{Value = "34" }] }
]
},
/* etc for all possible combinations */
];
Очевидно, что тот факт, что массив Values
содержит только одно значение, немного странен; но с торговым API eBay, если я перечисляю несколько значений в одной вариации (что легко сделать по сравнению с этим рекурсивным материалом), он жалуется. Итак, в качестве альтернативы, если вы знакомы с eBay Trading API, как я могу заставить его работать «оптимальным» образом, в соответствии с тем, как eBay намеревался отображать варианты (вызывается через AddFixedPricedItem если вы заботитесь).