public void Configure(IWebJobsBuilder builder)
        {
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            var segmentClientOptions = configuration.GetSection("CareerPathSegmentClientOptions").Get <SegmentClientOptions>();

            builder.AddDependencyInjection();

            var services = builder?.Services;

            services.AddSingleton(segmentClientOptions);
            services.AddAutoMapper(typeof(Startup).Assembly);
            services.AddScoped <IMessagePreProcessor, MessagePreProcessor>();
            services.AddScoped <IMessageProcessor, MessageProcessor>();
            services.AddTransient(provider => new HttpClient());
            services.AddScoped <IHttpClientService, HttpClientService>();
            services.AddSingleton <IMappingService, MappingService>();
            services.AddSingleton <IMessagePropertiesService, MessagePropertiesService>();
            services.AddDFCLogging(configuration["APPINSIGHTS_INSTRUMENTATIONKEY"]);
            services.AddScoped <ICorrelationIdProvider, InMemoryCorrelationIdProvider>();
        }
Beispiel #2
0
        public void Configure(IWebJobsBuilder builder)
        {
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            var cosmosDbConnection = configuration.GetSection("CosmosDbConnection").Get <CosmosDbConnection>();
            var sessionConfig      = configuration.GetSection("SessionConfig").Get <SessionConfig>();

            builder.AddDependencyInjection();
            builder.AddSwashBuckle(Assembly.GetExecutingAssembly());
            builder?.Services.AddSessionServices(sessionConfig);
            builder?.Services.AddApplicationInsightsTelemetry();
            builder?.Services.AddAutoMapper(typeof(WebJobsExtensionStartup).Assembly);
            builder?.Services.AddSingleton(cosmosDbConnection);
            builder?.Services.AddSingleton(sessionConfig);
            builder?.Services.AddSingleton <ILogger, Logger <WebJobsExtensionStartup> >();
            builder?.Services.AddTransient <ISwaggerDocumentGenerator, SwaggerDocumentGenerator>();
            builder?.Services.AddScoped <ICorrelationIdProvider, RequestHeaderCorrelationIdProvider>();
            builder?.Services.AddScoped <ILogService, LogService>();
            builder?.Services.AddScoped <IResponseWithCorrelation, ResponseWithCorrelation>();
            builder?.Services.AddScoped <IQuestionSetRepository, QuestionSetRepository>();
            builder?.Services.AddScoped <IUserSessionRepository, UserSessionRepository>();
            builder?.Services.AddSingleton <IDocumentClient>(new DocumentClient(new Uri(cosmosDbConnection.EndpointUrl), cosmosDbConnection.AccessKey));
        }
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                //.AddApplicationInsightsSettings()
                                .Build();

            //builder.Services.AddApplicationInsightsTelemetry(configuration);

            var documentClient = new DocumentClient(new Uri(configuration.GetValue <string>("CosmosDbSettings:EndpointUri")), configuration.GetValue <string>("CosmosDbSettings:PrimaryKey"), new ConnectionPolicy()
            {
                ConnectionMode     = ConnectionMode.Direct,
                ConnectionProtocol = Protocol.Tcp
            });

            builder.Services.AddSingleton(documentClient);
            builder.Services.AddSingleton <IConfiguration>(configuration);
            builder.Services.Configure <CosmosDbSettings>(configuration.GetSection(nameof(CosmosDbSettings)));
            builder.Services.Configure <CosmosDbCollectionSettings>(configuration.GetSection(nameof(CosmosDbCollectionSettings)));
            builder.Services.AddSingleton <ICosmosDbHelper, CosmosDbHelper>();
            builder.Services.AddScoped <IProgTypeService, ProgTypeService>();
            builder.Services.AddScoped <IFeChoiceService, FeChoiceService>();
            builder.Services.AddScoped <IStandardSectorCodeService, StandardSectorCodeService>();
            builder.Services.AddScoped <ISectorSubjectAreaTier1Service, SectorSubjectAreaTier1Service>();
            builder.Services.AddScoped <ISectorSubjectAreaTier2Service, SectorSubjectAreaTier2Service>();
            builder.Services.AddScoped <IApprenticeshipStandardService, ApprenticeshipStandardService>();
            builder.Services.AddScoped <IApprenticeshipFrameworkService, ApprenticeshipFrameworkService>();
        }
        public void Configure(IWebJobsBuilder builder)
        {
            //Get the current config and merge it into a new ConfigurationBuilder to keep the old settings
            var configurationBuilder = new ConfigurationBuilder()
                                       .AddEnvironmentVariables();


            var descriptor = builder.Services.FirstOrDefault(d => d.ServiceType == typeof(IConfiguration));

            if (descriptor?.ImplementationInstance is IConfigurationRoot configuration)
            {
                configurationBuilder.AddConfiguration(configuration);
            }

            //build the config in order to access the appsettings for getting the key vault connection settings
            var config = configurationBuilder.Build();


            //add the key vault to the configuration builder
            //configurationBuilder.AddAzureKeyVault(vaultUrl, vaultClientId, vaultClientSecret);
            //build the config again so it has the key vault provider

            config = configurationBuilder.Build();
            //replace the existing config with the new one
            builder.Services.Replace(ServiceDescriptor.Singleton(typeof(IConfiguration), config));

            //add the ConfigProvider if you want to use IConfiguration in your function
            //the ConfigProvider is just an implementation of IExtensionConfigProvider to give you access to the current IConfiguration
            //builder.AddExtension<ConfigProvider>();

            this.Config = config;
            builder.AddDependencyInjection(ConfigureServices);
        }
        public void AddDependencyInjection_WithWebJobsBuilderAsNull_ThrowsArgumentNullException()
        {
            // arrange
            IWebJobsBuilder builder = null;

            // act & assert
            Assert.Throws <ArgumentNullException>(() => builder.AddDependencyInjection());
        }
        /// <summary>
        /// configure uses the service registrar to ensure complete service registration.
        /// i'd like this to be injectable but i don't have control at this level.
        /// so i have to use a static factory
        /// </summary>
        /// <param name="builder"></param>
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            var registrar = ServiceRegistrationProvider.CreateService(Assembly.GetExecutingAssembly());

            registrar.Compose(builder.Services);
        }
Beispiel #7
0
        public void Configure(IWebJobsBuilder builder)
        {
            //This does not work with AddHttpClient<,>()
            //RegisterServices(builder.Services);
            //builder.AddExtension<InjectConfiguration>();

            //From https://blog.wille-zone.de/post/dependency-injection-for-azure-functions/
            builder.AddDependencyInjection(RegisterServices);
        }
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            ConfigureServices(builder);
            ConfigureHelpers(builder);
            ConfigureValidators(builder);
            ConfigureLogging(builder);
            ConfigureSwaggerGeneration(builder);
            ConfigureDataStorage(builder);
        }
Beispiel #9
0
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();
            builder.AddApplicationInsights2();
            //builder.Services.AddApplicationInsightsTelemetry();
            //ILoggerFactory loggerFactory = new LoggerFactory();
            //loggerFactory.AddApplicationInsights(builder.Services.BuildServiceProvider(), LogLevel.Information);

            builder.Services.AddScoped <IGreeter, Greeter>();
            builder.Services.AddScoped <IFormatter, Formatter>();
        }
Beispiel #10
0
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            builder.Services.AddSingleton <ILoggerHelper, LoggerHelper>();
            builder.Services.AddSingleton <IHttpRequestHelper, HttpRequestHelper>();
            builder.Services.AddSingleton <IHttpResponseMessageHelper, HttpResponseMessageHelper>();
            builder.Services.AddSingleton <IJsonHelper, JsonHelper>();
            builder.Services.AddSingleton <IDocumentDBProvider, DocumentDBProvider>();

            builder.Services.AddScoped <IRegionService, RegionService>();
            builder.Services.AddScoped <ISwaggerDocumentGenerator, SwaggerDocumentGenerator>();
        }
Beispiel #11
0
        public void Configure(IWebJobsBuilder builder)
        {
            Log.Logger = new LoggerConfiguration()
                         .Enrich.FromLogContext()
                         .WriteTo.Console()
                         .CreateLogger();

            var configBuilder = new ConfigurationBuilder()
                                .AddEnvironmentVariables();

            builder.Services.Replace(ServiceDescriptor.Singleton(typeof(IConfiguration), configBuilder.Build()));

            builder.AddDependencyInjection <ServiceProviderBuilder>();
        }
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            builder.Services.AddSingleton <IConfiguration>(configuration);
            builder.Services.Configure <FindAndExtractSettings>(configuration.GetSection(nameof(FindAndExtractSettings)));
            builder.Services.Configure <LarsCosmosDbCollectionSettings>(configuration.GetSection(nameof(LarsCosmosDbCollectionSettings)));
        }
        public void Configure(IWebJobsBuilder builder)
        {
            var cosmosConnectionString = new CosmosConnectionString(Environment.GetEnvironmentVariable(Cosmos.CosmosConnectionString));
            var cosmosDatabaseId       = Environment.GetEnvironmentVariable(Cosmos.CosmosDatabaseId);
            var cosmosCollectionId     = Environment.GetEnvironmentVariable(Cosmos.CosmosCollectionId);
            var cosmosPartitionKey     = Environment.GetEnvironmentVariable(Cosmos.CosmosPartitionKey);

            builder.AddDependencyInjection();

            builder.Services.AddSingleton <IDocumentStorage>(x => new CosmosDocumentStorage(cosmosConnectionString, cosmosPartitionKey, cosmosDatabaseId, cosmosCollectionId));
            builder.Services.AddTransient <IHttpRequestHelper, HttpRequestHelper>();
            builder.Services.AddTransient <ILoggerHelper, LoggerHelper>();
            builder.Services.AddScoped <IPathService, PathService>(sp => new PathService(sp.GetService <IDocumentStorage>()));
            builder.Services.AddTransient <ISwaggerDocumentGenerator, SwaggerDocumentGenerator>();
        }
Beispiel #14
0
        public void Configure(IWebJobsBuilder builder)
        {
            // Basic auth
            builder.Services.Configure <HttpAuthenticationOptions>(opts =>
            {
                var userPass             = Configuration.GetSection("Auth")["AdminCreds"].Split(":");
                opts.BasicAuthentication = new BasicAuthenticationParameters()
                {
                    ValidCredentials = new Dictionary <string, string>()
                    {
                        { userPass[0], userPass[1] }
                    }
                };
            });

            builder.AddDependencyInjection(ConfigureServices);
        }
        public void Configure(IWebJobsBuilder builder)
        {
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            builder?.AddDependencyInjection();
            builder?.Services.AddSingleton(configuration.GetSection("jobProfileClientOptions").Get <JobProfileClientOptions>());
            builder?.Services.AddScoped(sp => new HttpClient());
            builder?.Services.AddAutoMapper(typeof(WebJobsExtensionStartup).Assembly);
            builder?.Services.AddScoped <IMessageProcessor, MessageProcessor>();
            builder?.Services.AddScoped <IHttpClientService <JobProfileModel>, HttpClientService <JobProfileModel> >();
            builder?.Services.AddDFCLogging(configuration["APPINSIGHTS_INSTRUMENTATIONKEY"]);
            builder?.Services.AddScoped <ICorrelationIdProvider, InMemoryCorrelationIdProvider>();
        }
Beispiel #16
0
        public void Configure(IWebJobsBuilder builder)
        {
            //builder.AddAzureStorage();
            //builder.AddDurableTask();
            //builder.AddSendGrid();
            //builder.AddTwilioSms();
            //builder.AddServiceBus();
            //builder.AddTimers();
            //builder.AddSignalR();

            builder.AddExtension <HttpClientFactoryExtensionConfigProvider>();

            builder.Services.AddHttpClient();
            builder.Services.Configure <HttpClientFactoryOptions>(options => options.SuppressHandlerScope = true);
            builder.AddExtension <AzureSearchSyncProvider>();
            builder.AddExtension <TwilioExtensionConfigProvider>();
            builder.AddDependencyInjection <AutofacServiceProviderBuilder>();
        }
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            builder.Services.AddSingleton <IConfiguration>(configuration);
            builder.Services.Configure <CosmosDbSettings>(configuration.GetSection(nameof(CosmosDbSettings)));
            builder.Services.Configure <CosmosDbCollectionSettings>(configuration.GetSection(nameof(CosmosDbCollectionSettings)));
            builder.Services.Configure <ProviderServiceSettings>(configuration.GetSection(nameof(ProviderServiceSettings)));
            builder.Services.Configure <VenueServiceSettings>(configuration.GetSection(nameof(VenueServiceSettings)));
            builder.Services.Configure <QualificationServiceSettings>(configuration.GetSection(nameof(QualificationServiceSettings)));
            builder.Services.Configure <SearchServiceSettings>(configuration.GetSection(nameof(SearchServiceSettings)));
            builder.Services.Configure <ReferenceDataServiceSettings>(configuration.GetSection(nameof(ReferenceDataServiceSettings)));
            builder.Services.AddScoped <ICosmosDbHelper, CosmosDbHelper>();
            builder.Services.AddScoped <ISearchServiceWrapper, SearchServiceWrapper>();
            builder.Services.AddScoped <ICourseService, CoursesService>();
            builder.Services.AddScoped <ICourseMigrationReportService, CourseMigrationReportService>();
            builder.Services.AddScoped <IDfcReportService, DfcReportService>();
            builder.Services.AddSingleton <ICosmosDbSettings, CosmosDbSettings>();
            builder.Services.AddSingleton <IReferenceDataServiceSettings, ReferenceDataServiceSettings>();
            builder.Services.AddTransient((provider) => new HttpClient());
            builder.Services.AddSingleton <IProviderServiceSettings>(sp => sp.GetRequiredService <IOptions <ProviderServiceSettings> >().Value);
            builder.Services.AddSingleton <IQualificationServiceSettings>(sp => sp.GetRequiredService <IOptions <QualificationServiceSettings> >().Value);
            builder.Services.AddSingleton <IVenueServiceSettings>(sp => sp.GetRequiredService <IOptions <VenueServiceSettings> >().Value);
            builder.Services.AddSingleton <IReferenceDataServiceSettings>(sp => sp.GetRequiredService <IOptions <ReferenceDataServiceSettings> >().Value);
            builder.Services.AddSingleton <ProviderServiceWrapper>();
            builder.Services.AddSingleton <QualificationServiceWrapper>();
            builder.Services.AddSingleton <VenueServiceWrapper>();
            builder.Services.AddSingleton <FeChoiceServiceWrapper>();

            var serviceProvider = builder.Services.BuildServiceProvider();

            serviceProvider.GetService <ICourseMigrationReportService>().Initialise().Wait();
            serviceProvider.GetService <IDfcReportService>().Initialise().Wait();
            //serviceProvider.GetService<ISearchServiceWrapper>().Initialise().Wait();


            serviceProvider.GetService <ICosmosDbHelper>().DeployStoredProcedures().Wait();
        }
        public void Configure(IWebJobsBuilder builder)
        {
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.AddDependencyInjection();
            builder.Services.AddAutoMapper(typeof(WebJobsExtensionStartup).Assembly);

            builder.Services.AddSingleton(configuration.GetSection(nameof(RefreshClientOptions)).Get <RefreshClientOptions>());
            builder.Services.AddSingleton(configuration.GetSection("CurrentOpportunitiesSegmentClientOptions").Get <CoreClientOptions>());

            var policyRegistry = builder.Services.AddPolicyRegistry();
            var policyOptions  = configuration.GetSection("Policies").Get <CorePolicyOptions>();

            policyRegistry.AddStandardPolicies(nameof(RefreshClientOptions), policyOptions);

            builder.Services
            .BuildHttpClient <IRefreshService, RefreshService, RefreshClientOptions>(configuration, nameof(RefreshClientOptions))
            .AddPolicyHandlerFromRegistry($"{nameof(RefreshClientOptions)}_{nameof(CorePolicyOptions.HttpRetry)}")
            .AddPolicyHandlerFromRegistry($"{nameof(RefreshClientOptions)}_{nameof(CorePolicyOptions.HttpCircuitBreaker)}");

            builder.Services
            .AddScoped <IHttpClientService, HttpClientService>()
            .AddScoped <IMessageProcessor, MessageProcessor>()
            .AddScoped <IMappingService, MappingService>()
            .AddScoped <IMessagePropertiesService, MessagePropertiesService>()
            .AddDFCLogging(configuration["APPINSIGHTS_INSTRUMENTATIONKEY"])
            .AddScoped <ICorrelationIdProvider, InMemoryCorrelationIdProvider>()
            .AddSingleton(new HttpClient());

            var sp     = builder.Services.BuildServiceProvider();
            var mapper = sp.GetService <IMapper>();

            mapper?.ConfigurationProvider.AssertConfigurationIsValid();
        }
Beispiel #19
0
        public void Configure(IWebJobsBuilder builder)
        {
            _configuration = new ConfigurationBuilder()
                             .SetBasePath(Environment.CurrentDirectory)
                             .AddJsonFile("host.json", optional: true, reloadOnChange: true)
                             .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                             .AddEnvironmentVariables()
                             .Build();

            Log.Logger = new LoggerConfiguration()
                         .ReadFrom.Configuration(_configuration)
                         .Enrich.FromLogContext()
                         .Enrich.WithExceptionDetails()
                         .Enrich.WithProperty("Proc", "Pi.Dns.Function.Triggers")
                         .Destructure.UsingAttributes()
                         .CreateLogger();

            builder.AddDependencyInjection(ConfigureServices);
        }
        public void Configure(IWebJobsBuilder builder)
        {
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            var contentPageClientOptions = configuration.GetSection(nameof(ContentPageClientOptions)).Get <ContentPageClientOptions>();

            builder?.AddDependencyInjection();
            builder?.Services.AddAutoMapper(typeof(WebJobsExtensionStartup).Assembly);
            builder?.Services.AddSingleton <ContentPageClientOptions>(contentPageClientOptions);
            builder?.Services.AddSingleton <HttpClient>(new HttpClient());
            builder?.Services.AddSingleton <IHttpClientService, HttpClientService>();
            builder?.Services.AddSingleton <IMessageProcessor, MessageProcessor>();
            builder?.Services.AddSingleton <IMappingService, MappingService>();
            builder?.Services.AddSingleton <ILogger, Logger <WebJobsExtensionStartup> >();
            builder?.Services.AddSingleton <IMessagePropertiesService, MessagePropertiesService>();
        }
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            BuildCosmosDbSettings(builder.Services, configuration);

            var blobStorageSettings = new BlobStorageSettings();

            configuration.Bind("BlobStorageSettings", blobStorageSettings);
            builder.Services.AddSingleton <IBlobStorageSettings>(blobStorageSettings);
            var ifaocSearchSettings = new FaocSearchServiceSettings();

            configuration.Bind("FaocSearchServiceSettings", ifaocSearchSettings);
            builder.Services.AddSingleton <IFaocSearchServiceSettings>(ifaocSearchSettings);

            builder.Services.AddSingleton <IConfiguration>(configuration);
            //builder.Services.Configure<CosmosDbCollectionSettings>(configuration.GetSection(nameof(CosmosDbCollectionSettings)));
            builder.Services.Configure <SearchServiceSettings>(configuration.GetSection(nameof(SearchServiceSettings)));
            builder.Services.Configure <VenueServiceSettings>(configuration.GetSection(nameof(VenueServiceSettings)));
            builder.Services.Configure <ProviderServiceSettings>(configuration.GetSection(nameof(ProviderServiceSettings)));
            builder.Services.AddScoped <ICosmosDbHelper, CosmosDbHelper>();
            builder.Services.AddTransient <ICourseAuditService, CourseAuditService>();
            builder.Services.AddTransient <ICourseArchiveService, CourseArchiveService>();
            builder.Services.AddTransient <ISearchServiceWrapper, SearchServiceWrapper>();
            builder.Services.AddTransient <IFaocSearchServiceWrapper, FaocSearchServiceWrapper>();
            builder.Services.AddTransient <IVenueServiceWrapper, VenueServiceWrapper>();
            builder.Services.AddTransient <IProviderServiceWrapper, ProviderServiceWrapper>();
            builder.Services.AddTransient <IBlobStorageHelper, BlobStorageHelper>();
            builder.Services.AddTransient((provider) => new HttpClient());
            ReportGenerationResolver(builder.Services);

            var serviceProvider = builder.Services.BuildServiceProvider();
        }
Beispiel #22
0
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            builder.Services.AddSingleton <IConfiguration>(configuration);
            builder.Services.Configure <CosmosDbSettings>(configuration.GetSection(nameof(CosmosDbSettings)));
            builder.Services.Configure <CosmosDbCollectionSettings>(configuration.GetSection(nameof(CosmosDbCollectionSettings)));
            builder.Services.Configure <ProviderServiceSettings>(configuration.GetSection(nameof(ProviderServiceSettings)));
            builder.Services.Configure <ReferenceDataServiceSettings>(configuration.GetSection(nameof(ReferenceDataServiceSettings)));
            builder.Services.AddScoped <IReferenceDataServiceWrapper, ReferenceDataServiceWrapper>();
            builder.Services.AddScoped <ICosmosDbHelper, CosmosDbHelper>();
            builder.Services.AddScoped <ITribalHelper, TribalHelper>();
            builder.Services.AddScoped <IApprenticeshipService, ApprenticeshipService>();
            builder.Services.AddScoped <IApprenticeshipMigrationReportService, ApprenticeshipMigrationReportService>();
            builder.Services.AddScoped <IDfcReportService, DfcReportService>();

            builder.Services.AddSingleton <DocumentClient>(sp =>
            {
                var settings = sp.GetRequiredService <IOptions <CosmosDbSettings> >().Value;

                return(new DocumentClient(
                           new Uri(settings.EndpointUri),
                           settings.PrimaryKey,
                           new ConnectionPolicy()
                {
                    ConnectionMode = ConnectionMode.Direct
                }));
            });

            var serviceProvider = builder.Services.BuildServiceProvider();

            serviceProvider.GetService <ICosmosDbHelper>().DeployStoredProcedures().Wait();
        }
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            //var configuration = new ConfigurationBuilder()
            //    .SetBasePath(Environment.CurrentDirectory)
            //    .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
            //    .AddEnvironmentVariables()
            //    .Build();

            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())
                                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables().Build();

            builder.Services.AddSingleton <IConfiguration>(configuration);
            // builder.Services.Configure<FindAndExtractSettings>(configuration.GetSection(nameof(FindAndExtractSettings)));

            builder.Services.Configure <GremlinCosmosDbSettings>(configuration.GetSection("GremlinCosmosDbSettings"));
            builder.Services.AddScoped <IGremlinBase, GremlinBase>();
            builder.Services.AddScoped <IGremlinQuery, GremlinQuery>();
        }
        public void Configure(IWebJobsBuilder builder)
        {
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Environment.CurrentDirectory)
                                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                                .AddEnvironmentVariables()
                                .Build();

            var cosmosDbConnection     = configuration.GetSection(CosmosDbConfigAppSettings).Get <CosmosDbConnection>();
            var sharedConfigSettings   = configuration.GetSection("SharedConfigSettings").Get <SharedConfigSettings>();
            var sharedConfigParameters = configuration.GetSection("SharedConfigParameters").Get <SharedConfigParameters>();

            builder?.Services.AddAzureTableSharedConfigService(sharedConfigSettings).BuildServiceProvider();

            builder.AddDependencyInjection();
            builder.AddSwashBuckle(Assembly.GetExecutingAssembly());
            builder?.Services.AddApplicationInsightsTelemetry();
            builder?.Services.AddAutoMapper(typeof(WebJobsExtensionStartup).Assembly);
            builder?.Services.AddSingleton(cosmosDbConnection);
            builder?.Services.AddSingleton(sharedConfigParameters);
            builder?.Services.AddSingleton <IDocumentClient>(new DocumentClient(new Uri(cosmosDbConnection.EndpointUrl), cosmosDbConnection.AccessKey));
            builder?.Services.AddSingleton <ISearchIndexClientFactory, SearchIndexClientFactory>();
            builder?.Services.AddSingleton <IAzSearchQueryConverter, AzSearchQueryConverter>();
            builder?.Services.AddSingleton <ISearchQueryService <JobProfileIndex>, DfcSearchQueryService <JobProfileIndex> >();
            builder?.Services.AddSingleton <ISearchManipulator <JobProfileIndex>, JobProfileSearchManipulator>();
            builder?.Services.AddSingleton <ISearchQueryBuilder, DfcSearchQueryBuilder>();
            builder?.Services.AddSingleton <ILogger, Logger <WebJobsExtensionStartup> >();
            builder?.Services.AddSingleton <IProfileDataService, ProfileDataService>();
            builder?.Services.AddSingleton <ISummaryService, SummaryService>();
            builder?.Services.AddSingleton <ISearchService, SearchService>();
            builder?.Services.AddSingleton <ICosmosRepository <SummaryDataModel>, CosmosRepository <SummaryDataModel> >();
            builder?.Services.AddSingleton <ICosmosRepository <SegmentDataModel>, CosmosRepository <SegmentDataModel> >();
            builder?.Services.AddTransient <ISwaggerDocumentGenerator, SwaggerDocumentGenerator>();
            builder?.Services.AddScoped <ICorrelationIdProvider, RequestHeaderCorrelationIdProvider>();
            builder?.Services.AddScoped <ILogService, LogService>();
            builder?.Services.AddScoped <IResponseWithCorrelation, ResponseWithCorrelation>();
        }
 public void Configure(IWebJobsBuilder builder) =>
 builder.AddDependencyInjection <ServiceProviderBuilder>();
Beispiel #26
0
 public void Configure(IWebJobsBuilder builder)
 {
     builder.AddDependencyInjection(SimpleWire);
 }
        public void Configure(IWebJobsBuilder builder)
        {
            builder.AddDependencyInjection();

            ConfigureServices(builder.Services);
        }
 public void Configure(IWebJobsBuilder builder)
 {
     builder.AddExecutionContextBinding();
     builder.AddDependencyInjection <ServiceProviderBuilder>();
     builder.AddExtension <NServiceBusExtensionConfig>();
 }
Beispiel #29
0
 public void Configure(IWebJobsBuilder builder)
 {
     builder.AddDependencyInjection((services) => {
         BookLib.Domain.DependencyResolver.Resolve(services);
     });
 }
Beispiel #30
0
 public void Configure(IWebJobsBuilder builder) => builder.AddDependencyInjection(ConfigureServices);