예제 #1
0
        public async Task Initialize(ApplicationDbContext context)
        {
            context.Database.EnsureCreated();

            if (context.Users.Any())
            {
                return; // Db has been seeded.
            }

            // Creates Roles.
            var _roleInitializer = new RolesInitializer(_roleManager);
            await _roleInitializer.InitializeAsync();

            // Seeds an admin user.
            var _UsuariosInitializer = new UsuariosInitializer(_userManager);
            await _UsuariosInitializer.InitializeAsync();

            // Seeds estados
            var _EstadosInitializer = new EstadosInitializer(context);
            await _EstadosInitializer.InitializeAsync();


            // Seed Dominios
            var _TiposTelefoneInitializer = new TipoTelefoneInitializer(context);
            await _TiposTelefoneInitializer.InitializeAsync();

            var _RamoDeAtividadeInitializer = new RamoDeAtividadeInitializer(context);
            await _RamoDeAtividadeInitializer.InitializeAsync();
        }
예제 #2
0
        public static async Task Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                try
                {
                    var userManager  = services.GetRequiredService <UserManager <User> >();
                    var rolesManager = services.GetRequiredService <RoleManager <IdentityRole> >();
                    await RolesInitializer.InitializeAsync(userManager, rolesManager);
                } catch (Exception ex)
                {
                    var logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(ex, "An error occurres while seeding the database.");
                }
            }
            host.Run();
        }
예제 #3
0
        public static async Task Main(string[] args)
        {
            var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();

            try
            {
                logger.Debug("init main");
                var host = CreateHostBuilder(args).Build();

                using (var scope = host.Services.CreateScope())
                {
                    var services = scope.ServiceProvider;
                    try
                    {
                        var accountService = services.GetRequiredService <IAccountService>();
                        var rolesManager   = services.GetRequiredService <RoleManager <IdentityRole> >();
                        await RolesInitializer.InitializeAsync(accountService, rolesManager).ConfigureAwait(false);
                    }
                    catch (Exception ex)
                    {
                        logger.Error(ex, "Error initializing admin role");
                    }
                }

                host.Run();
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Stopped program because of exception");
                throw;
            }
            finally
            {
                NLog.LogManager.Shutdown();
            }
        }