Beispiel #1
0
        public static void Main(string[] args)
        {
            var host = BuildWebHost(args);

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                var logger   = services.GetRequiredService <ILogger <Program> >();
                try
                {
                    var context        = services.GetRequiredService <AppDbContext>();
                    var userManager    = services.GetRequiredService <UserManager <User> >();
                    var roleManager    = services.GetRequiredService <RoleManager <IdentityRole> >();
                    var configuration  = services.GetRequiredService <IConfiguration>();
                    var appEnvironment = services.GetService <IHostingEnvironment>();

                    var dbInitializerLogger = services.GetRequiredService <ILogger <UsersDbInitializer> >();
                    UsersDbInitializer.InitializeAsync(context, userManager, roleManager, dbInitializerLogger, configuration).Wait();
                    ProductDbInitializaer.Initialize(context).Wait();
                    PropsInitializator.InitializeAsync(context).Wait();
                    FixedImageSize(context, appEnvironment, configuration);
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, "An error occurred while seeding the database.");
                }
            }
            host.Run();
        }
Beispiel #2
0
        private void InitializeDb(IApplicationBuilder app)
        {
            using (var scope = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>().CreateScope())
            {
                var dbContext = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>();
                var dbInit    = new DbInitializer(dbContext, _dataPath);
                dbInit.CheckDb();

                // Adding Roles and Users to data base
                UsersDbInitializer.RolesInitialize(scope.ServiceProvider).Wait();
                UsersDbInitializer.UsersInitialize(scope.ServiceProvider).Wait();
            }
        }