public void Configure(ConfigurationContext context) { var serviceCollection = new ServiceCollection(); var ourContext = new Abstractions.Boot.ConfigurationContext { Configuration = new ServerConfigWrapper(context.Configuration), ConnectionFactory = context.ConnectionFactory, ServiceProvider = GetServiceProvider, Services = serviceCollection }; var ignoredModules = context.Configuration.GetSection("DisabledModules:ReportAnalyzer"); _reportAnalyzerModuleStarter.Configure(ourContext, new ServerConfigSectionWrapper(ignoredModules)); RegisterConfigurationStores(ourContext); ourContext.Services.AddScoped <IPrincipalAccessor, MessagingPrincipalWrapper>(); ourContext.Services.AddScoped <IAdoNetUnitOfWork>(x => new AnalysisUnitOfWork(x.GetService <IDbConnection>(), false)); ourContext.Services.AddScoped(provider => { var principal = provider.GetService <IPrincipalAccessor>().Principal ?? CoderrClaims.SystemPrincipal; return(context.ConnectionFactory(principal)); }); _serviceProvider = serviceCollection.BuildServiceProvider(); }
private void ConfigureMessageQueueProvider(ConfigurationContext context) { var serializer = new MessagingSerializer(typeof(AdoNetMessageDto)); _messageQueueProvider = new AdoNetMessageQueueProvider(() => context.ConnectionFactory(_systemPrincipal), serializer); }
private AdoNetMessageQueueProvider CreateQueueProvider(ConfigurationContext context) { if (_queueProvider != null) { return(_queueProvider); } IDbConnection Factory() => context.ConnectionFactory(_systemPrincipal); var serializer = new MessagingSerializer(typeof(AdoNetMessageDto)); //serializer.ThrowExceptionOnDeserialziationFailure = false; _queueProvider = new AdoNetMessageQueueProvider(Factory, serializer); return(_queueProvider); }