Пример #1
0
        private void ConfigureNotificationApiEmailService(IServiceCollection services)
        {
            services.AddTransient <INotificationsApi>(x =>
            {
                var apiConfiguration = new Notifications.Api.Client.Configuration.NotificationsApiClientConfiguration
                {
                    ApiBaseUrl = _applyConfig.NotificationsApiClientConfiguration.ApiBaseUrl,
#pragma warning disable 618
                    ClientToken = _applyConfig.NotificationsApiClientConfiguration.ClientToken,
#pragma warning restore 618
                    ClientId      = _applyConfig.NotificationsApiClientConfiguration.ClientId,
                    ClientSecret  = _applyConfig.NotificationsApiClientConfiguration.ClientSecret,
                    IdentifierUri = _applyConfig.NotificationsApiClientConfiguration.IdentifierUri,
                    Tenant        = _applyConfig.NotificationsApiClientConfiguration.Tenant
                };

                var httpClient = string.IsNullOrWhiteSpace(apiConfiguration.ClientId)
                    ? new HttpClientBuilder().WithBearerAuthorisationHeader(new JwtBearerTokenGenerator(apiConfiguration)).Build()
                    : new HttpClientBuilder().WithBearerAuthorisationHeader(new AzureADBearerTokenGenerator(apiConfiguration)).Build();

                return(new NotificationsApi(httpClient, apiConfiguration));
            });

            services.AddTransient <IEmailTokenService, EmailTokenService>();
            services.AddTransient <IApplicationUpdatedEmailService, ApplicationUpdatedEmailService>();
        }
Пример #2
0
        private void ConfigureDependencyInjection(IServiceCollection services)
        {
            services.AddTransient <ITokenService, TokenService>();

            services.AddTransient <IHttpContextAccessor, HttpContextAccessor>();

            services.AddSingleton <IConfigurationService>(sp => new ConfigurationService(
                                                              sp.GetService <IHostingEnvironment>(),
                                                              _configuration["EnvironmentName"],
                                                              _configuration["ConfigurationStorageConnectionString"],
                                                              "1.0",
                                                              "SFA.DAS.ApplyService"));

            services.AddTransient <ISessionService>(s => new SessionService(
                                                        s.GetService <IHttpContextAccessor>(),
                                                        _configuration["EnvironmentName"]));

            services.AddTransient <IDfeSignInService, DfeSignInService>();
            services.AddTransient <CreateAccountValidator, CreateAccountValidator>();
            services.AddTransient <IUserService, UserService>();
            services.AddTransient <IQnaTokenService, QnaTokenService>();
            services.AddTransient <IProcessPageFlowService, ProcessPageFlowService>();
            services.AddTransient <IResetRouteQuestionsService, ResetRouteQuestionsService>();
            services.AddTransient <IPagesWithSectionsFlowService, PagesWithSectionsFlowService>();
            services.AddTransient <IQuestionPropertyTokeniser, QuestionPropertyTokeniser>();
            services.AddTransient <IPageNavigationTrackingService, PageNavigationTrackingService>();
            services.AddTransient <ICustomValidatorFactory, CustomValidatorFactory>();
            services.AddTransient <IAnswerFormService, AnswerFormService>();
            services.AddTransient <IEmailTokenService, EmailTokenService>();
            services.AddTransient <IGetHelpWithQuestionEmailService, GetHelpWithQuestionEmailService>();
            services.AddTransient <INotificationsApi>(x => {
                var apiConfiguration = new Notifications.Api.Client.Configuration.NotificationsApiClientConfiguration
                {
                    ApiBaseUrl = _configService.NotificationsApiClientConfiguration.ApiBaseUrl,
#pragma warning disable 618
                    ClientToken = _configService.NotificationsApiClientConfiguration.ClientToken,
#pragma warning restore 618
                    ClientId      = _configService.NotificationsApiClientConfiguration.ClientId,
                    ClientSecret  = _configService.NotificationsApiClientConfiguration.ClientSecret,
                    IdentifierUri = _configService.NotificationsApiClientConfiguration.IdentifierUri,
                    Tenant        = _configService.NotificationsApiClientConfiguration.Tenant
                };

                var httpClient = string.IsNullOrWhiteSpace(apiConfiguration.ClientId)
                    ? new HttpClientBuilder().WithBearerAuthorisationHeader(new JwtBearerTokenGenerator(apiConfiguration)).Build()
                    : new HttpClientBuilder().WithBearerAuthorisationHeader(new AzureADBearerTokenGenerator(apiConfiguration)).Build();

                return(new NotificationsApi(httpClient, apiConfiguration));
            });

            services.AddTransient <ISubmitApplicationConfirmationEmailService, SubmitApplicationConfirmationEmailService>();
            services.AddTransient <ITabularDataService, TabularDataService>();
            services.AddTransient <ITabularDataRepository, TabularDataRepository>();
            services.AddTransient <IUkprnWhitelistValidator, UkprnWhitelistValidator>();
            services.AddTransient <IRoatpTaskListWorkflowService, RoatpTaskListWorkflowService>();
            services.AddTransient <IRoatpOrganisationVerificationService, RoatpOrganisationVerificationService>();
            services.AddTransient <INotRequiredOverridesService, NotRequiredOverridesService>();
            services.AddTransient <ITaskListOrchestrator, TaskListOrchestrator>();
        }