using Autofac; using Core.Configurations; using Core.Configurations.JsonConfigProvider; namespace SetupInfrastructure { public class Startup { public virtual IConfigurationRoot Configuration() { var configuration = new ConfigurationBuilder() .AddJsonFile("appconfiguration.json") .Build(); return configuration; } public IContainer ConfigureContainer(ConnectionStringTemplateParameters ctp) { var builder = new ContainerBuilder(); var configuration = Configuration(); builder.RegisterModule(new Core.ModuleRegistry.DbPostgreSqlModule { ConnectionString = configuration.GetConnectionString("DefaultConnection").Replace("{usr}", ctp.user).Replace("{pwd}", ctp.pwd) }); builder.RegisterModule(new Core.ModuleRegistry.TelemetryModule { TelemetryConfig = configuration.GetSection("ApplicationInsights").ToObject() }); return builder.Build(); } public record ConnectionStringTemplateParameters(string user, string pwd); } }