Esempio n. 1
0
        public static async Task Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

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

                using (var context = services.GetService <AppDbContext>())
                {
                    context.Database.Migrate();
                    AppDbContextSeed.Seed(context);
                }

                using (var context = services.GetService <AppIdentityDbContext>())
                {
                    context.Database.Migrate();

                    var userManager = services.GetRequiredService <UserManager <ApplicationUser> >();
                    var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >();

                    await AppIdentityDbContextSeed.SeedAsync(userManager, roleManager);
                }
            }

            host.Run();
        }
Esempio n. 2
0
        public static async Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();

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

                    await AppDbContextSeed.SeedAsync(context, loggerFactory);

                    var userManager     = services.GetRequiredService <UserManager <AppUser> >();
                    var roleManager     = services.GetRequiredService <RoleManager <AppRole> >();
                    var identityContext = services.GetRequiredService <AppIdentityDbContext>();
                    await identityContext.Database.MigrateAsync();

                    await AppIdentityDbContextSeed.SeedUsersAsync(userManager, roleManager);
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError("An error occured during migration", ex.Message);
                }
            }

            host.Run();
        }
Esempio n. 3
0
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args)
                       .Build();

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

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

                if (dbContext.Database.IsSqlServer())
                {
                    dbContext.Database.Migrate();
                }
                else if (dbContext.Database.IsInMemory())
                {
                    dbContext.Database.EnsureCreated();
                }

                if (!dbContext.Users.Any())
                {
                    var userService = services.GetRequiredService <IUserService>();
                    AppUserSeed.SeedAsync(userService).Wait();
                }

                if (dbContext.Database.IsInMemory())
                {
                    AppDbContextSeed.SeedRandomDataAsync(dbContext).Wait();
                }
            }

            host.Run();
        }
Esempio n. 4
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();
            }
        }
Esempio n. 5
0
        public static void Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using var scope = host.Services.CreateScope();
            var services      = scope.ServiceProvider;
            var loggerFactory = services.GetRequiredService <ILoggerFactory>();

            try
            {
                // Delete and recreate database
                var context = scope.ServiceProvider.GetService <AppDbContext>();
                context.Database.EnsureDeleted();
                context.Database.Migrate();

                // Populate
                AppDbContextSeed.SeedAsync(context, loggerFactory).Wait();
            }
            catch (Exception ex)
            {
                var logger = scope.ServiceProvider.GetRequiredService <ILogger <Program> >();
                logger.LogError(ex, "An error occurred while migrating the database.");
            }

            host.Run();
        }
        public async static Task Main(string[] args)
        {
            var host = CreateWebHostBuilder(args)
                       .Build();

            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();
                try
                {
                    var appdbContext = services.GetRequiredService <AppDbContext>();
                    await AppDbContextSeed.SeedAsync(appdbContext);

                    //testdatabase;
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError(ex, "An error occurred seeding the DB.");
                }
            }

            host.Run();
        }
Esempio n. 7
0
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args)
                       .UseUrls("http://127.0.0.1:5001")
                       .Build();

            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();
                try
                {
                    var dbContext = services.GetRequiredService <AppDbContext>();
                    AppDbContextSeed.SeedAsync(dbContext, loggerFactory)
                    .Wait();

                    //var userManager = services.GetRequiredService<UserManager<ApplicationUser>>();
                    //AppIdentityDbContextSeed.SeedAsync(userManager).Wait();
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError(ex, "An error occurred seeding the DB.");
                }
            }

            host.Run();
        }
Esempio n. 8
0
        public async static Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

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

                try
                {
                    var context = services.GetRequiredService <AppDbContext>();
                    context.Database.Migrate();

                    await AppDbContextSeed.SeedAsync(context);
                }
                catch (Exception ex)
                {
                    var logger = scope.ServiceProvider.GetRequiredService <ILogger <Program> >();

                    logger.LogError(ex, "An error occurred while migrating or seeding the database.");
                }
            }

            host.Run();
        }
Esempio n. 9
0
        public static async Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();

                try
                {
                    var dbContext   = services.GetRequiredService <AppDbContext>();
                    var userManager = services.GetRequiredService <UserManager <AppUser> >();
                    var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >();

                    await AppDbContextSeed.SeedAsync(dbContext, userManager, roleManager, loggerFactory);
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError(ex, "Error with seeding the data base.");
                }
            }

            host.Run();
        }
Esempio n. 10
0
        public static async Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();

                try
                {
                    var dbContext = services.GetRequiredService <ApplicationDbContext>();
                    await dbContext.Database.MigrateAsync();

                    await AppDbContextSeed.SeedAsync(dbContext, loggerFactory);

                    var userManager     = services.GetRequiredService <UserManager <AppUser> >();
                    var roleManager     = services.GetRequiredService <RoleManager <AppRole> >();
                    var identityContext = services.GetRequiredService <AppIdentityDbContext>();
                    await identityContext.Database.MigrateAsync();

                    await AppIdentityDbContextSeed.SeedUsersAsync(userManager, roleManager);
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError($"Could not create or migrate database, see full error: {ex}");
                }
            }

            host.Run();
        }
Esempio n. 11
0
        public async static Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

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

                try
                {
                    var context     = services.GetRequiredService <AppDbContext>();
                    var userManager = services.GetRequiredService <UserManager <AppUser> >();
                    var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >();

                    // Migration starting on dotnet run, no need for update-database in cli
                    context.Database.Migrate();

                    await AppDbContextSeed.SeedAsync(context, userManager, roleManager);
                }
                catch (Exception ex)
                {
                    var logger = scope.ServiceProvider.GetRequiredService <ILogger <Program> >();

                    logger.LogError(ex, "An error occurred while migrating or seeding the database.");

                    throw;
                }
            }

            await host.RunAsync();
        }
Esempio n. 12
0
        /// <summary>
        /// Tworzy Hosta, wpisuje u¿ytkownika do bazy jeœli takiego nie ma
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public static async Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();
                try
                {
                    //Create database if not exist. And seed users.
                    var userManager     = services.GetRequiredService <UserManager <AppUser> >();
                    var identityContext = services.GetRequiredService <AppDbContext>();
                    await identityContext.Database.MigrateAsync();

                    await AppDbContextSeed.SeedUsersAsync(userManager);
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError(ex, "An error occured during migration");
                }
            }

            host.Run();
        }
Esempio n. 13
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();
            }
        }
        protected override void ConfigureWebHost(IWebHostBuilder builder)
        {
            builder.ConfigureServices(services =>
            {
                services.AddEntityFrameworkInMemoryDatabase();

                // Create a new service provider.
                var provider = services
                               .AddEntityFrameworkInMemoryDatabase()
                               .BuildServiceProvider();

                // Add a database context (ApplicationDbContext) using an in-memory
                // database for testing.
                services.AddDbContext <AppDbContext>(options =>
                {
                    options.UseInMemoryDatabase("InMemoryDbForTesting");
                    options.UseInternalServiceProvider(provider);
                });

                //services.AddIdentity<ApplicationUser, IdentityRole>()
                //        .AddDefaultUI(UIFramework.Bootstrap4)
                //        .AddEntityFrameworkStores<AppIdentityDbContext>()
                //        .AddDefaultTokenProviders();

                // Build the service provider.
                var sp = services.BuildServiceProvider();

                // Create a scope to obtain a reference to the database
                // context (ApplicationDbContext).
                using (var scope = sp.CreateScope())
                {
                    var scopedServices = scope.ServiceProvider;
                    var db             = scopedServices.GetRequiredService <AppDbContext>();
                    var loggerFactory  = scopedServices.GetRequiredService <ILoggerFactory>();

                    var logger = scopedServices
                                 .GetRequiredService <ILogger <CustomWebApplicationFactory <TStartup> > >();

                    // Ensure the database is created.
                    db.Database.EnsureCreated();

                    try
                    {
                        // Seed the database with test data.
                        AppDbContextSeed.SeedAsync(db).Wait();                        // seed sample user data
                        //var userManager = scopedServices.GetRequiredService<UserManager<ApplicationUser>>();
                        // AppIdentityDbContextSeed.SeedAsync(userManager).Wait();
                    }
                    catch (Exception ex)
                    {
                        logger.LogError(ex, $"An error occurred seeding the " +
                                        "database with test messages. Error: {ex.Message}");
                    }
                }
            });
        }
Esempio n. 15
0
        public virtual async Task InitializeDatabase()
        {
            Context = AppDbContextFactory.Create(DateTimeService);

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

            await AppDbContextSeed.InitializeAsync(UserManager
                                                   , RoleManager
                                                   , Configuration
                                                   , Context);
        }
Esempio n. 16
0
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var ctx = scope.ServiceProvider.GetService <AppDbContext>();
                AppDbContextSeed.Seed(ctx);
            }

            host.Run();
        }
Esempio n. 17
0
        public static void Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services  = scope.ServiceProvider;
                var dbContext = services.GetRequiredService <AppDbContext>();
                AppDbContextSeed.SeedAsync(dbContext);
            }

            host.Run();
        }
Esempio n. 18
0
        protected async Task <EfRepository <T> > GetRepositoryAsync <T>() where T : class, IAggregateRoot
        {
            //var options = CreateInMemoryContextOptions();
            var options      = CreateSqlLiteOptions();
            var mockMediator = new Mock <IMediator>();

            _dbContext = new TestContext(options, mockMediator.Object);

            var logger           = new LoggerFactory().CreateLogger <AppDbContextSeed>();
            var appDbContextSeed = new AppDbContextSeed(_dbContext, logger);
            await appDbContextSeed.SeedAsync(new OfficeSettings().TestDate);

            return(new EfRepository <T>(_dbContext));
        }
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var ctx = scope.ServiceProvider.GetService <AppDbContext>();
                AppDbContextSeed.Seed(ctx);

                var cronManager = scope.ServiceProvider.GetService <ICronJobsManager>();
                cronManager.RegisterAllCronJobs();
            }

            host.Run();
        }
Esempio n. 20
0
        public static async Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())//startupda kullanabileceðim bir servis scoppe olusturuyor
            {
                var appDbContext = scope.ServiceProvider.GetRequiredService <AppDbContext>();
                var userManager  = scope.ServiceProvider.GetRequiredService <UserManager <ApplicationUser> >();
                var roleManager  = scope.ServiceProvider.GetRequiredService <RoleManager <IdentityRole> >();
                await AppDbContextSeed.SeedAsync(appDbContext);

                await AppIdentityDbContextSeed.SeedAsync(userManager, roleManager);
            }

            host.Run();
        }
Esempio n. 21
0
        private static async Task InitDatabase(IHost host)
        {
            using IServiceScope scope = host.Services.CreateScope();

            var context = scope.ServiceProvider.GetRequiredService <AppDbContext>();

            //await context.Database.EnsureDeletedAsync();

            if ((await context.Database.GetPendingMigrationsAsync()).Any())
            {
                await context.Database.MigrateAsync();
            }

            var hasher = scope.ServiceProvider.GetService <IPasswordHasher>();

            await AppDbContextSeed.Seed(context, hasher);
        }
Esempio n. 22
0
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

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

                var userManager = scope.ServiceProvider.GetRequiredService <UserManager <IdentityUser> >();
                var roleManager = scope.ServiceProvider.GetRequiredService <RoleManager <IdentityRole> >();

                AppIdentityContextSeed.SeedASync(userManager, roleManager).Wait();

                AppDbContextSeed.Seed(catalogContext);
            }

            host.Run();
        }
Esempio n. 23
0
        public static async Task SeedDatabase(IHost host)
        {
            using var scope = host.Services.CreateScope();
            var services = scope.ServiceProvider;

            try
            {
                var context     = services.GetRequiredService <AppDbContext>();
                var userManager = services.GetRequiredService <UserManager <AppUser> >();

                await context.Database.MigrateAsync();

                await AppDbContextSeed.SeedData(context, userManager);
            }
            catch (Exception ex)
            {
                var logger = services.GetRequiredService <ILogger <Program> >();
                logger.LogError(ex, "An error occurred while migrating or seeding the database.");
            }
        }
Esempio n. 24
0
        public async static Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                try
                {
                    var context = services.GetRequiredService <AppDbContext>();
                    context.Database.Migrate();
                    await AppDbContextSeed.SeedSampleProductsAsync(context);
                }
                catch (Exception ex)
                {
                    // _logger.LogError("Error occured on main: {ex}", ex);
                }
            }
            await host.RunAsync();
        }
Esempio n. 25
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }
            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints => {
                /*endpoints.MapControllerRoute(
                 *  name: null,
                 *  //url: "Page{page}",
                 *  defaults: new {
                 *      controller = "Game", action = "List"
                 *  });*/

                endpoints.MapControllerRoute(
                    name: "list",
                    pattern: "controller/action/{page?}");

                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Discounts}/{action=List}/{page?}");
            });

            using (var scope = app.ApplicationServices.CreateScope()) { // создаем область (окружение) для использования сервиса AppDBContent
                AppDbContext context = scope.ServiceProvider.GetRequiredService <AppDbContext>();
                AppDbContextSeed.Initial(context);                      // Обращаемся к БД за товарами
            }
        }
Esempio n. 26
0
        private void Seed()
        {
            lock (_lock)
            {
                if (!_databaseInitialized)
                {
                    using (var context = CreateContext())
                    {
                        context.Database.EnsureDeleted();
                        //context.Database.EnsureCreated();

                        var logger           = new LoggerFactory().CreateLogger <AppDbContextSeed>();
                        var appDbContextSeed = new AppDbContextSeed(context, logger);
                        appDbContextSeed.SeedAsync(new OfficeSettings().TestDate).Wait();
                        context.SaveChanges();
                    }

                    _databaseInitialized = true;
                }
            }
        }
Esempio n. 27
0
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args)
                       .Build();

            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();
                try
                {
                    var catalogContext = services.GetRequiredService <AppDbContext>();
                    AppDbContextSeed.SeedAsync(catalogContext, loggerFactory).Wait();
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError(ex, "An error occurred seeding the DB.");
                }
            }
            host.Run();
        }
Esempio n. 28
0
        public static async Task Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

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

                    await AppDbContextSeed.SeedAsync(context, loggerFactory);
                }
                catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError(ex, "An error occured during migration");
                }
            }
            host.Run();
        }
Esempio n. 29
0
        public async static Task Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            //host.MigrateDbContext<AppIdentityDbContext>((_, __) => { });
            using (var scope = host.Services.CreateScope())
            {
                var services      = scope.ServiceProvider;
                var loggerFactory = services.GetRequiredService <ILoggerFactory>();
                try
                {
                    var userManager = services.GetRequiredService <UserManager <AppUser> >();
                    await AppIdentityDbContextSeed.SeedAsync(userManager);

                    var appDbContext = services.GetRequiredService <AppDbContext>();
                    await AppDbContextSeed.SeedAsync(appDbContext, loggerFactory, userManager);
                } catch (Exception ex)
                {
                    var logger = loggerFactory.CreateLogger <Program>();
                    logger.LogError(ex, "An error occurred seeding the DB.");
                }
            }
            host.Run();
        }
Esempio n. 30
0
        public async static Task Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.Debug()
                         .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
                         .MinimumLevel.Override("Microsoft.Hosting.Lifetime", LogEventLevel.Information)
                         .MinimumLevel.Override("System", LogEventLevel.Warning)
                         .MinimumLevel.Override("Microsoft.AspNetCore.Authentication", LogEventLevel.Information)
                         .Enrich.FromLogContext()
                         // uncomment to write to Azure diagnostics stream
                         //.WriteTo.File(
                         //    @"D:\home\LogFiles\Application\identityserver.txt",
                         //    fileSizeLimitBytes: 1_000_000,
                         //    rollOnFileSizeLimit: true,
                         //    shared: true,
                         //    flushToDiskInterval: TimeSpan.FromSeconds(1))
                         .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}", theme: AnsiConsoleTheme.Code)
                         .CreateLogger();

            try
            {
                Log.Information("Starting host...");

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

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

                    try
                    {
                        var context = services.GetRequiredService <AppDbContext>();
                        var idsvPersistedGrantContext = services.GetRequiredService <PersistedGrantDbContext>();
                        var idsvConfigContext         = services.GetRequiredService <ConfigurationDbContext>();

                        if (context.Database.IsSqlServer())
                        {
                            context.Database.Migrate();
                            idsvPersistedGrantContext.Database.Migrate();
                            idsvConfigContext.Database.Migrate();
                        }

                        var userManager = services.GetRequiredService <UserManager <ApplicationUser> >();

                        await AppDbContextSeed.SeedAsync(context, userManager);
                    }
                    catch (Exception ex)
                    {
                        Log.Fatal(ex, "An error occurred while migrating or seeding the database.");
                    }
                }

                await host.RunAsync();
            }
            catch (Exception ex)
            {
                Log.Fatal(ex, "Host terminated unexpectedly.");
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }