Beispiel #1
0
    public static async Task Main(string[] args)
    {
        await CNPJData.PrepareFiles();

        var host = CreateHostBuilder(args).Build();

        using (var serviceScope = host.Services.CreateScope())
        {
            var services = serviceScope.ServiceProvider;

            try
            {
                using (var context = services.GetRequiredService <DatabaseContext>())
                {
                    await context.Database.MigrateAsync();

                    await context.PopulateDatabaseWithCNPJData();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error: {ex}");
            }
        }

        host.Run();
    }
Beispiel #2
0
    public async Task PopulateDatabaseWithCNPJData()
    {
        var companiesCount = await Companies.CountAsync();

        var membersCount = await Companies.CountAsync();

        if (companiesCount == 0 || membersCount == 0)
        {
            var cnpj = new CNPJData();
            cnpj.RetrieveDataFromFiles();

            Console.WriteLine("\nDatabase is empty, populating it with CNPJ data...");
            var sw = Stopwatch.StartNew();

            await Companies.AddRangeAsync(cnpj.Companies);

            await Members.AddRangeAsync(cnpj.Members);
            await SaveChangesAsync();

            sw.Stop();
            Console.WriteLine($"Finished populating Database with CNPJ data in {sw.ElapsedMilliseconds/1000}s\n");
        }
    }