protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); IoC.BootStrap(builder => { var encryption = new Encryption.EncryptionService(); var dbConfig = new DatabaseConfigCollection(); dbConfig.Add(new DatabaseConfigItem() { Key = CommonConfigKeys.dbKeyMaster, ConnectionString = encryption.Decrypt(ConfigurationManager.ConnectionStrings["master"].ConnectionString), CommandTimeout = 100 }); builder.RegisterInstance(dbConfig).As <IDatabaseConfigCollection>().SingleInstance(); builder.RegisterApiControllers(SparRetail.Api.Controllers.IoCRegistry.GetAssembly()).InstancePerRequest(); SparRetail.Api.Controllers.IoCRegistry.Configure(builder); }); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(IoC.Container); }
public static List <DatabaseConfigElement> CreateValidatedDatabaseConfigCollection(DatabaseConfigCollection databases) { var validatedDatabaseConfigs = new List <DatabaseConfigElement>(); for (int i = 0; i < databases.Count; i++) { var dbConfig = databases[i]; var dbConfigValidationResult = ConfigurationValidator.IsDbConfigValid(dbConfig); if (!dbConfigValidationResult.IsValid) { logger.Error($"The anonymization of the database with the following connection string was skipped: {dbConfig.ConnectionString}. " + $"Reason: {dbConfigValidationResult.ValidationMessage}"); } else { try { DbTypeInitializer.CreateDbTypes(dbConfig.ConnectionString); validatedDatabaseConfigs.Add(databases[i]); } catch (Exception ex) { logger.Error(ex, $"The anonymization of the database with the following connection string was skipped: {dbConfig.ConnectionString}. " + $"Reason: {ex.Message}"); } } } return(validatedDatabaseConfigs); }