private async Task CreateEcommerceSourceFiles()

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