/// <summary> /// Initialises the configuration database. /// </summary> /// <param name="configurationDbContext">The configuration database context.</param> /// <param name="seedingType">Type of the seeding.</param> public static void InitialiseConfigurationDatabase(ConfigurationDbContext configurationDbContext, SeedingType seedingType) { Boolean isDbInitialised = false; Int32 retryCounter = 0; while (retryCounter < 20 && !isDbInitialised) { try { if (configurationDbContext.Database.IsSqlServer()) { configurationDbContext.Database.Migrate(); } DatabaseSeeding.AddClients(configurationDbContext, seedingType); DatabaseSeeding.AddApiResources(configurationDbContext, seedingType); DatabaseSeeding.AddIdentityResources(configurationDbContext, seedingType); //configurationDbContext.SaveChanges(); isDbInitialised = true; break; } catch (Exception ex) { retryCounter++; Thread.Sleep(10000); } } if (!isDbInitialised) { String connString = configurationDbContext.Database.GetDbConnection().ConnectionString; Exception newException = new Exception($"Error initialising Db with Connection String [{connString}]"); throw newException; } }
/// <summary> /// Initialises the authentication database. /// </summary> /// <param name="authenticationDbContext">The authentication database context.</param> /// <param name="seedingType">Type of the seeding.</param> public static void InitialiseAuthenticationDatabase(AuthenticationDbContext authenticationDbContext, SeedingType seedingType) { Boolean isDbInitialised = false; Int32 retryCounter = 0; while (retryCounter < 20 && !isDbInitialised) { try { if (authenticationDbContext.Database.IsSqlServer()) { authenticationDbContext.Database.Migrate(); } DatabaseSeeding.AddRoles(authenticationDbContext, seedingType); DatabaseSeeding.AddUsers(authenticationDbContext, seedingType); DatabaseSeeding.AddUsersToRoles(authenticationDbContext, seedingType); authenticationDbContext.SaveChanges(); isDbInitialised = true; break; } catch (Exception ex) { retryCounter++; Thread.Sleep(10000); } } if (!isDbInitialised) { String connString = authenticationDbContext.Database.GetDbConnection().ConnectionString; Exception newException = new Exception($"Error initialising Db with Connection String [{connString}]"); throw newException; } }