using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Identity; using Microsoft.eShopWeb.Infrastructure.Data; using Microsoft.eShopWeb.Infrastructure.Identity; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using System; namespace Microsoft.eShopWeb.RazorPages { public class Program { 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(); try { var catalogContext = services.GetRequiredService(); CatalogContextSeed.SeedAsync(catalogContext, loggerFactory) .Wait(); var userManager = services.GetRequiredService>(); AppIdentityDbContextSeed.SeedAsync(userManager).Wait(); } catch (Exception ex) { var logger = loggerFactory.CreateLogger(); logger.LogError(ex, "An error occurred seeding the DB."); } } host.Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup(); } }