Exemple #1
0
        public static async Task Main(string[] args)
        {
            try
            {
                var host = CreateHostBuilder(args).Build();

                using (var scope = host.Services.CreateScope())
                {
                    var services = scope.ServiceProvider;
                    try
                    {
                        var context = services.GetRequiredService <AppDbContext>();

                        await AppDbContextSeed.InitializeAsync(context);
                    }
                    catch (Exception ex)
                    {
                        var logger = services.GetRequiredService <ILogger <Program> >();
                        logger.LogError(ex, "An error occurred while seeding the database.");
                    }
                }

                await host.RunAsync();
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }
Exemple #2
0
        public static async Task Main(string[] args)
        {
            var environmentName =
                Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ??
                "Production";

            var config = new ConfigurationBuilder()
                         .AddJsonFile("appsettings.json", false, true)
                         .AddJsonFile($"appsettings.{environmentName}.json", true, true)
                         .AddEnvironmentVariables()
                         .Build();

            Log.Logger = new LoggerConfiguration()
                         .Enrich.FromLogContext()
                         .ReadFrom.Configuration(config.GetSection("Serilog"))
                         .WriteTo.ColoredConsole(
                LogEventLevel.Verbose,
                "{NewLine}{Timestamp:HH:mm:ss} [{Level}] ({CorrelationToken}) {Message}{NewLine}{Exception}"
                )
                         .CreateLogger();

            try
            {
                var host = CreateHostBuilderUsingConfig(args, config).Build();

                using (var scope = host.Services.CreateScope())
                {
                    var services = scope.ServiceProvider;
                    try
                    {
                        var userManager =
                            services.GetRequiredService <UserManager <AppUser> >();

                        var rolesManager = services
                                           .GetRequiredService <RoleManager <IdentityRole <int> > >();

                        var configurationManager = services
                                                   .GetRequiredService <IConfiguration>();

                        var context = services.GetRequiredService <AppDbContext>();

                        await AppDbContextSeed.InitializeAsync(userManager, rolesManager,
                                                               configurationManager, context);
                    }
                    catch (Exception ex)
                    {
                        var logger = services.GetRequiredService <ILogger <Program> >();
                        logger.LogError(ex,
                                        "An error occurred while seeding the database.");
                    }
                }

                host.Run();
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }
Exemple #3
0
        public virtual async Task InitializeDatabase()
        {
            Context = AppDbContextFactory.Create(DateTimeService);

            RoleManager = CreateRoleManager();
            UserManager = CreateUserManager();

            await AppDbContextSeed.InitializeAsync(UserManager
                                                   , RoleManager
                                                   , Configuration
                                                   , Context);
        }