/// <summary> /// Adds some default values to the Database /// </summary> public void SeedData() { using var scope = _scopeFactory.CreateScope(); var dbInitializer = scope.ServiceProvider.GetRequiredService <DbInitializerService>(); var createAdminResult = dbInitializer.CreateAdminUserAsync().Result; if (createAdminResult == (null, IdentityResult.Failed())) { throw new InvalidOperationException(createAdminResult.Item2.DumpErrors()); } using var db = scope.ServiceProvider.GetRequiredService <BehlogContext>(); if (!db.Roles.Any()) { db.Add(new Role(Consts.Role_Admin)); db.SaveChanges(); } var adminUser = createAdminResult.Item1; var defaultLanguage = _languageSvc .CreateDefaultLanguagesAndReturnDefaultLanguageAsync() .Result; dbInitializer.CreateDefaultWebsite( db, adminUser, defaultLanguage.Adapt <Language>() ); }