in src/Infrastructure/Data/CatalogContextSeed.cs [15:55]
public static async Task SeedAsync(CatalogContext catalogContext,
ILoggerFactory loggerFactory, int? retry = 0)
{
int retryForAvailability = retry.Value;
try
{
if (!catalogContext.CatalogBrands.Any())
{
catalogContext.CatalogBrands.AddRange(
GetPreconfiguredCatalogBrands());
await catalogContext.SaveChangesAsync();
}
if (!catalogContext.CatalogTypes.Any())
{
catalogContext.CatalogTypes.AddRange(
GetPreconfiguredCatalogTypes());
await catalogContext.SaveChangesAsync();
}
if (!catalogContext.CatalogItems.Any())
{
catalogContext.CatalogItems.AddRange(
GetPreconfiguredItems());
await catalogContext.SaveChangesAsync();
}
}
catch (Exception ex)
{
if (retryForAvailability < 10)
{
retryForAvailability++;
var log = loggerFactory.CreateLogger<CatalogContextSeed>();
log.LogError(ex.Message);
await SeedAsync(catalogContext, loggerFactory, retryForAvailability);
}
}
}