in Hands-on lab/lab-files/Tools/CustomerProfileJsonDataGenerator/CustomerProfileGenerator.cs [114:141]
private async Task CreateEcommerceSourceFiles(JsonSerializer serializer, Randomizer randomizer)
{
var productPurchasesList = new List<ProductPurchases>();
var fileNum = 1;
const int recordsPerFile = 1000;
foreach (var accountData in accounts)
{
var id = accountData.AccountID;
var purchases = new Faker<ProductPurchases>()
// Optional: Call for objects that have complex initialization
.CustomInstantiator(f => new ProductPurchases(randomizer, id));
var item = purchases.Generate();
productPurchasesList.Add(item);
if (productPurchasesList.Count % recordsPerFile == 0)
{
await WriteProductPurchasesFile(productPurchasesList, fileNum++, serializer);
productPurchasesList.Clear();
}
}
if (productPurchasesList.Count > 0)
{
await WriteProductPurchasesFile(productPurchasesList, fileNum++, serializer);
}
}