Exemplo n.º 1
0
        public async Task SeedAsync(OrderingDbContext dbContext)
        {
            await _policy.ExecuteAsync(async() =>
            {
                using (dbContext)
                {
                    _logger.LogInformation("Start seeding data...");
                    dbContext.Database.Migrate();

                    if (!dbContext.CardTypes.Any())
                    {
                        dbContext.CardTypes.AddRange(_cardTypesDataProvider.GetData());
                        await dbContext.SaveChangesAsync();
                    }

                    if (!dbContext.OrderStatus.Any())
                    {
                        dbContext.OrderStatus.AddRange(_orderStatusDataProvider.GetData());
                    }

                    await dbContext.SaveChangesAsync();

                    _logger.LogInformation("Data seeding is done");
                }
            });
        }