Exemplo n.º 1
0
        public static IApplicationBuilder UseDatabaseMigration(this IApplicationBuilder app)
        {
            using (var serviceScope = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>().CreateScope())
            {
                serviceScope.ServiceProvider.GetService <FootballAnalyzesDbContext>().Database.Migrate();

                var userManager = serviceScope.ServiceProvider.GetService <UserManager <User> >();
                var roleManager = serviceScope.ServiceProvider.GetService <RoleManager <IdentityRole> >();
                var db          = serviceScope.ServiceProvider.GetService <FootballAnalyzesDbContext>();

                Task
                .Run(async() =>
                {
                    await AddAdminUser(userManager, roleManager);


                    if (await db.FootballGames.CountAsync() == 0)
                    {
                        var updateDb = new StartUpdate(db);
                        updateDb.SeedOldGames();
                    }
                })
                .Wait();
            }

            return(app);
        }