protected override void Load(ContainerBuilder builder) { // TODO: Do not register entire settings in container, pass necessary settings to services which requires them // ex: // builder.RegisterType<QuotesPublisher>() // .As<IQuotesPublisher>() // .WithParameter(TypedParameter.From(_settings.CurrentValue.QuotesPublication)) builder.RegisterInstance(_log) .As <ILog>() .SingleInstance(); builder.RegisterType <HealthService>() .As <IHealthService>() .SingleInstance(); builder.RegisterType <StartupManager>() .As <IStartupManager>(); builder.RegisterType <ShutdownManager>() .As <IShutdownManager>(); builder.RegisterInstance <IPledgeRepository>( AzureRepoFactories.CreatePledgeRepository(_settings.Nested(x => x.Db.PledgesConnString), _log)) .SingleInstance(); builder.RegisterType <PledgesService>() .As <IPledgesService>() .SingleInstance(); builder.Populate(_services); }
protected override void Load(ContainerBuilder builder) { var clientPersonalInfoConnString = _settings.ConnectionString(x => x.OAuth.Db.ClientPersonalInfoConnString); builder.RegisterInstance( AzureRepoFactories.CreateApplicationsRepository(clientPersonalInfoConnString, _log) ).As <IApplicationRepository>().SingleInstance(); builder.RegisterInstance( AzureRepoFactories.CreateWalletCredentialsRepository(clientPersonalInfoConnString, _log) ).As <IWalletCredentialsRepository>().SingleInstance(); }