protected override void Load(ContainerBuilder containerBuilder) { var serviceFabricConfigurationService = new ServiceFabricConfigurationService(); var statelessServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAsStatelessServiceConfiguration(); var azureStorageFileServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <AzureStorageFileServiceConfiguration>("AzureStorageFileServiceConfiguration"); containerBuilder.RegisterModule(new StatelessServiceModule(statelessServiceConfiguration)); containerBuilder.RegisterModule(new IOModule(azureStorageFileServiceConfiguration)); containerBuilder.RegisterModule <BaseModule>(); containerBuilder.RegisterModule <CondenserModule>(); containerBuilder.RegisterModule <DataCacheModule>(); containerBuilder.RegisterModule <ProviderModule>(); containerBuilder.RegisterModule <SerializationModule>(); containerBuilder.RegisterModule <StatelessActorModule>(); // register MessageHandler containerBuilder.RegisterType <MessageHandler>().As <IMessageHandler <JobContextMessage> >().InstancePerLifetimeScope(); containerBuilder.RegisterType <DefaultJobContextMessageMapper <JobContextMessage> >().As <IMapper <JobContextMessage, JobContextMessage> >().InstancePerLifetimeScope(); containerBuilder.RegisterType <DateTimeProvider.DateTimeProvider>().As <IDateTimeProvider>(); containerBuilder.RegisterType <FundingServiceContext>().As <IFundingServiceContext>().InstancePerLifetimeScope(); containerBuilder.RegisterType <FundingOrchestrationService>().As <IFundingOrchestrationService>(); }
public static ContainerBuilder BuildContainer() { var containerBuilder = new ContainerBuilder(); IServiceFabricConfigurationService serviceFabricConfigurationService = new ServiceFabricConfigurationService(); var statelessServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAsStatelessServiceConfiguration(); var reportServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <ReportServiceConfiguration>("ReportServiceConfiguration"); var azureStorageFileServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <AzureStorageFileServiceConfiguration>("AzureStorageFileServiceConfiguration"); var ioConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <IOConfiguration>("IOConfiguration"); containerBuilder.RegisterModule(new StatelessBaseModule(statelessServiceConfiguration)); containerBuilder.RegisterModule(new IOModule(azureStorageFileServiceConfiguration, ioConfiguration)); containerBuilder.RegisterModule(new DataModule(reportServiceConfiguration)); containerBuilder.RegisterModule <ReportsServiceModule>(); containerBuilder.RegisterModule <CollectionTypeFormattersModule>(); containerBuilder.RegisterModule <ReportsModule>(); return(containerBuilder); }
private static ContainerBuilder BuildContainerBuilder() { var containerBuilder = new ContainerBuilder(); var serviceFabricConfigurationService = new ServiceFabricConfigurationService(); var statelessServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAsStatelessServiceConfiguration(); // get ServiceBus, Azurestorage config values and register container var serviceBusOptions = serviceFabricConfigurationService.GetConfigSectionAs <ServiceBusConfig>("StatelessServiceConfiguration"); containerBuilder.RegisterInstance(serviceBusOptions).As <IServiceBusConfig>().SingleInstance(); var topicSubscribeConfig = new TopicConfiguration( serviceBusOptions.ServiceBusConnectionString, serviceBusOptions.TopicName, serviceBusOptions.SubscriptionName, 1, maximumCallbackTimeSpan: TimeSpan.FromMinutes(60)); containerBuilder.Register(c => { var topicSubscriptionSevice = new TopicSubscriptionSevice <JobContextMessage>( topicSubscribeConfig, c.Resolve <ISerializationService>(), c.Resolve <ILogger>()); return(topicSubscriptionSevice); }).As <ITopicSubscriptionService <JobContextMessage> >(); containerBuilder.RegisterModule(new StatelessServiceModule(statelessServiceConfiguration)); containerBuilder.RegisterModule <SerializationModule>(); containerBuilder.RegisterType <JobContextMessageHandler>().As <IMessageHandler <JobContextMessage> >(); var summarisationDataOptions = serviceFabricConfigurationService.GetConfigSectionAs <SummarisationDataOptions>("ReferenceDataSection"); containerBuilder.RegisterModule(new SummarisationModule(summarisationDataOptions)); return(containerBuilder); }
protected override void Load(ContainerBuilder containerBuilder) { var serviceFabricConfigurationService = new ServiceFabricConfigurationService(); var statelessServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAsStatelessServiceConfiguration(); var azureStorageFileServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <AzureStorageFileServiceConfiguration>("AzureStorageFileServiceConfiguration"); var ioConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <IOConfiguration>("IOConfiguration"); var referenceDataOptions = serviceFabricConfigurationService.GetConfigSectionAs <ReferenceDataOptions>("ReferenceDataSection"); var desktopRefDataConfig = serviceFabricConfigurationService.GetConfigSectionAs <DesktopReferenceDataConfiguration>("DesktopReferenceDataSection"); containerBuilder.RegisterInstance(desktopRefDataConfig).As <IDesktopReferenceDataConfiguration>(); var featureConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <FeatureConfiguration>("FeatureConfiguration"); containerBuilder.RegisterInstance(featureConfiguration).As <FeatureConfiguration>().SingleInstance(); var apiSettings = serviceFabricConfigurationService.GetConfigSectionAs <ApiSettings>("ApiSettings"); containerBuilder.RegisterInstance(apiSettings).As <ApiSettings>().SingleInstance(); containerBuilder.Register(c => { var jitter = new Random(); return(Policy.Handle <Exception>() .WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)) + TimeSpan.FromMilliseconds(jitter.Next(0, 100)))); }).As <IAsyncPolicy>().SingleInstance(); containerBuilder.RegisterModule <BaseModule>(); containerBuilder.RegisterModule(new StatelessServiceModule(statelessServiceConfiguration)); containerBuilder.RegisterModule(new IOModule(azureStorageFileServiceConfiguration, ioConfiguration)); containerBuilder.RegisterModule(new RepositoryModule(referenceDataOptions)); containerBuilder.RegisterModule <SerializationModule>(); containerBuilder.RegisterModule <ReferenceDataRepositoryServicesModule>(); containerBuilder.RegisterType <DateTimeProvider.DateTimeProvider>().As <IDateTimeProvider>(); containerBuilder.RegisterType <MessageHandler>().As <IMessageHandler <JobContextMessage> >(); }
private static ContainerBuilder BuildContainerBuilder() { var containerBuilder = new ContainerBuilder(); var serviceFabricConfigurationService = new ServiceFabricConfigurationService(); var statelessServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAsStatelessServiceConfiguration(); var azureStorageFileServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <AzureStorageFileServiceConfiguration>("AzureStorageFileServiceConfiguration"); var ioConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <IOConfiguration>("IOConfiguration"); containerBuilder.RegisterModule(new StatelessServiceModule(statelessServiceConfiguration)); containerBuilder.RegisterModule <SerializationModule>(); containerBuilder.RegisterModule <FileValidationOrchestrationServicesModule>(); containerBuilder.RegisterModule(new IOModule(azureStorageFileServiceConfiguration, ioConfiguration)); containerBuilder.RegisterModule <ValidatorModule>(); containerBuilder.RegisterModule <MapperModule>(); containerBuilder.RegisterType <MessageHandler>().As <IMessageHandler <JobContextMessage> >(); return(containerBuilder); }
private static ContainerBuilder BuildContainer() { var configHelper = new ConfigurationHelper(); var containerBuilder = new ContainerBuilder(); var serviceFabricConfigurationService = new ServiceFabricConfigurationService(); var statelessServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAsStatelessServiceConfiguration(); var azureStorageFileServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <AzureStorageFileServiceConfiguration>("AzureStorageFileServiceConfiguration"); containerBuilder.RegisterModule(new StatelessServiceModule(statelessServiceConfiguration)); containerBuilder.RegisterModule <SerializationModule>(); containerBuilder.RegisterModule <PreValidationServiceModule>(); containerBuilder.RegisterModule(new IOModule(azureStorageFileServiceConfiguration)); containerBuilder.RegisterType <DefaultJobContextMessageMapper <JobContextMessage> >().As <IMapper <JobContextMessage, JobContextMessage> >(); containerBuilder.RegisterType <MessageHandler>().As <IMessageHandler <JobContextMessage> >(); containerBuilder.RegisterType <JobContextMessageValidationContextFactory>().As <IValidationContextFactory <IJobContextMessage> >(); containerBuilder.RegisterType <JobContextManager <JobContextMessage> >().As <IJobContextManager <JobContextMessage> >().InstancePerLifetimeScope(); return(containerBuilder); }
public static ContainerBuilder BuildContainer() { var containerBuilder = new ContainerBuilder(); IServiceFabricConfigurationService serviceFabricConfigurationService = new ServiceFabricConfigurationService(); var statelessServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAsStatelessServiceConfiguration(); var reportServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <ReportServiceConfiguration>("ReportServiceConfiguration"); var azureStorageFileServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <AzureStorageFileServiceConfiguration>("AzureStorageFileServiceConfiguration"); containerBuilder.RegisterType <ILR2021_DataStoreEntities>().As <IIlr2021Context>(); containerBuilder.RegisterType <ILR1920_DataStoreEntities>().As <IIlr1920RulebaseContext>(); containerBuilder.RegisterType <ILR1819_DataStoreEntities>().As <IIlr1819RulebaseContext>(); containerBuilder.RegisterType <PimsContext>().As <IPimsContext>(); containerBuilder.RegisterType <FundingClaimsDataContext>().As <IFundingClaimsDataContext>().ExternallyOwned(); containerBuilder.RegisterInstance(reportServiceConfiguration).As <IReportServiceConfiguration>(); containerBuilder.Register(context => { var optionsBuilder = new DbContextOptionsBuilder <ILR1819_DataStoreEntities>(); optionsBuilder.UseSqlServer( reportServiceConfiguration.IlrDataStore1819ConnectionString, options => options.EnableRetryOnFailure(3, TimeSpan.FromSeconds(3), new List <int>())); return(optionsBuilder.Options); }) .As <DbContextOptions <ILR1819_DataStoreEntities> >() .SingleInstance(); containerBuilder.Register(context => { var optionsBuilder = new DbContextOptionsBuilder <ILR1920_DataStoreEntities>(); optionsBuilder.UseSqlServer( reportServiceConfiguration.IlrDataStore1920ConnectionString, options => options.EnableRetryOnFailure(3, TimeSpan.FromSeconds(3), new List <int>())); return(optionsBuilder.Options); }) .As <DbContextOptions <ILR1920_DataStoreEntities> >() .SingleInstance(); containerBuilder.Register(context => { var optionsBuilder = new DbContextOptionsBuilder <ILR2021_DataStoreEntities>(); optionsBuilder.UseSqlServer( reportServiceConfiguration.IlrDataStore2021ConnectionString, options => options.EnableRetryOnFailure(3, TimeSpan.FromSeconds(3), new List <int>())); return(optionsBuilder.Options); }) .As <DbContextOptions <ILR2021_DataStoreEntities> >() .SingleInstance(); containerBuilder.Register(context => { var optionsBuilder = new DbContextOptionsBuilder <PimsContext>(); optionsBuilder.UseSqlServer( reportServiceConfiguration.PimsDataConnectionString, options => options.EnableRetryOnFailure(3, TimeSpan.FromSeconds(3), new List <int>())); return(optionsBuilder.Options); }) .As <DbContextOptions <PimsContext> >() .SingleInstance(); containerBuilder.Register(context => { var optionsBuilder = new DbContextOptionsBuilder <FundingClaimsDataContext>(); optionsBuilder.UseSqlServer( reportServiceConfiguration.FundingClaimsConnectionString, options => options.EnableRetryOnFailure(3, TimeSpan.FromSeconds(3), new List <int>())); return(optionsBuilder.Options); }) .As <DbContextOptions <FundingClaimsDataContext> >() .SingleInstance(); containerBuilder.RegisterModule(new StatelessBaseModule(statelessServiceConfiguration)); containerBuilder.RegisterModule <SerializationModule>(); containerBuilder.RegisterModule(new IOModule(azureStorageFileServiceConfiguration)); containerBuilder.RegisterModule <ReportsServiceModule>(); containerBuilder.RegisterModule <ReportsModule>(); return(containerBuilder); }