Napisałem taki kod:
var toAdd = new List<Product> {};
int page = 1;
int productsPerPage = 100;
List<Product> singlePage;
do
{
singlePage = await Wc.Product.GetAll
(
new Dictionary<string, string>
{
{"page", page.ToString() },
{"per_page", productsPerPage.ToString() }
}
);
productsToAdd.AddRange(singlePage);
page++;
}
while(singlePage.Count == productsPerPage);
Products = new ReadOnlyDictionary<string, Product>(productsToAdd.ToDictionary(p => p.sku));
(czytanie z zewnętrznego serwisu który wymusza paginację)
To zuo, bo tu są mutacje.
Ale poważnie -w tym konkretnym wypadku nie mam bladego pojęcia jak to przepisać tak, by nie było mutacji. A już na pewno nie bez tworzenia przerostu formy nad treścią.
Ma ktoś jakies pomysły w tym zakresie?