public ProviderCalculationResultsReIndexerService( ILogger logger, ISearchRepository <ProviderCalculationResultsIndex> providerCalculationResultsSearchRepository, ISpecificationsRepository specificationsRepository, ICalculationResultsRepository resultsRepository, IResultsResiliencePolicies resiliencePolicies, IFeatureToggle featureToggle, IMessengerService messengerService) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(providerCalculationResultsSearchRepository, nameof(providerCalculationResultsSearchRepository)); Guard.ArgumentNotNull(specificationsRepository, nameof(specificationsRepository)); Guard.ArgumentNotNull(resultsRepository, nameof(resultsRepository)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(featureToggle, nameof(featureToggle)); Guard.ArgumentNotNull(messengerService, nameof(messengerService)); _logger = logger; _providerCalculationResultsSearchRepository = providerCalculationResultsSearchRepository; _specificationsRepository = specificationsRepository; _resultsRepository = resultsRepository; _resultsRepositoryPolicy = resiliencePolicies.ResultsRepository; _specificationsRepositoryPolicy = resiliencePolicies.SpecificationsRepository; _resultsSearchRepositoryPolicy = resiliencePolicies.ResultsSearchRepository; _featureToggle = featureToggle; _messengerService = messengerService; }
public TestResultsService(ITestResultsRepository testResultsRepository, ISearchRepository <TestScenarioResultIndex> searchRepository, IMapper mapper, ILogger logger, ITelemetry telemetry, ITestRunnerResiliencePolicies policies, IProviderService providerService) { Guard.ArgumentNotNull(searchRepository, nameof(searchRepository)); Guard.ArgumentNotNull(testResultsRepository, nameof(testResultsRepository)); Guard.ArgumentNotNull(mapper, nameof(mapper)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(telemetry, nameof(telemetry)); Guard.ArgumentNotNull(policies, nameof(policies)); Guard.ArgumentNotNull(providerService, nameof(providerService)); _testResultsRepository = testResultsRepository; _searchRepository = searchRepository; _mapper = mapper; _logger = logger; _telemetry = telemetry; _testResultsPolicy = policies.TestResultsRepository; _testResultsSearchPolicy = policies.TestResultsSearchRepository; _providerService = providerService; }
public JobManagementService( IJobRepository jobRepository, INotificationService notificationService, IJobDefinitionsService jobDefinitionsService, IJobsResiliencePolicies resiliencePolicies, ILogger logger, IValidator <CreateJobValidationModel> createJobValidator, IMessengerService messengerService) { Guard.ArgumentNotNull(jobRepository, nameof(jobRepository)); Guard.ArgumentNotNull(notificationService, nameof(notificationService)); Guard.ArgumentNotNull(jobDefinitionsService, nameof(jobDefinitionsService)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(createJobValidator, nameof(createJobValidator)); Guard.ArgumentNotNull(messengerService, nameof(messengerService)); _jobRepository = jobRepository; _notificationService = notificationService; _jobDefinitionsService = jobDefinitionsService; _jobsRepositoryPolicy = resiliencePolicies.JobRepository; _jobDefinitionsRepositoryPolicy = resiliencePolicies.JobDefinitionsRepository; _jobsRepositoryNonAsyncPolicy = resiliencePolicies.JobRepositoryNonAsync; _logger = logger; _createJobValidator = createJobValidator; _messengerService = messengerService; _messengerServicePolicy = resiliencePolicies.MessengerServicePolicy; }
public FundingStreamPermissionService( IUserRepository userRepository, ISpecificationRepository specificationRepository, IVersionRepository <FundingStreamPermissionVersion> fundingStreamPermissionVersionRepository, ICacheProvider cacheProvider, IMapper mapper, ILogger logger, IUsersResiliencePolicies policies) { Guard.ArgumentNotNull(userRepository, nameof(userRepository)); Guard.ArgumentNotNull(specificationRepository, nameof(specificationRepository)); Guard.ArgumentNotNull(fundingStreamPermissionVersionRepository, nameof(fundingStreamPermissionVersionRepository)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(mapper, nameof(mapper)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(policies, nameof(policies)); _userRepository = userRepository; _specificationsRepository = specificationRepository; _fundingStreamPermissionVersionRepository = fundingStreamPermissionVersionRepository; _cacheProvider = cacheProvider; _mapper = mapper; _logger = logger; _userRepositoryPolicy = policies.UserRepositoryPolicy; _specificationsRepositoryPolicy = policies.SpecificationRepositoryPolicy; _fundingStreamPermissionVersionRepositoryPolicy = policies.FundingStreamPermissionVersionRepositoryPolicy; _cacheProviderPolicy = policies.CacheProviderPolicy; }
public JobHelperService(IJobsApiClient jobsApiClient, IJobHelperResiliencePolicies resiliencePolicies, ILogger logger) { Guard.ArgumentNotNull(jobsApiClient, nameof(jobsApiClient)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(logger, nameof(logger)); _jobsApiClient = jobsApiClient; _jobsApiClientPolicy = resiliencePolicies.JobsApiClient; _logger = logger; }
public AllocationNotificationsFeedsSearchService( ISearchRepository <AllocationNotificationFeedIndex> allocationNotificationsSearchRepository, IResultsResiliencePolicies resiliencePolicies) { Guard.ArgumentNotNull(allocationNotificationsSearchRepository, nameof(allocationNotificationsSearchRepository)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); _allocationNotificationsSearchRepository = allocationNotificationsSearchRepository; _allocationNotificationsSearchRepositoryPolicy = resiliencePolicies.AllocationNotificationFeedSearchRepository; }
public ResultsService(ILogger logger, IFeatureToggle featureToggle, ICalculationResultsRepository resultsRepository, IMapper mapper, ISearchRepository <ProviderIndex> searchRepository, ITelemetry telemetry, IProviderSourceDatasetRepository providerSourceDatasetRepository, ISearchRepository <ProviderCalculationResultsIndex> calculationProviderResultsSearchRepository, ISpecificationsRepository specificationsRepository, IResultsResiliencePolicies resiliencePolicies, IProviderImportMappingService providerImportMappingService, ICacheProvider cacheProvider, IMessengerService messengerService, ICalculationsRepository calculationRepository, IValidator <MasterProviderModel> masterProviderModelValidator, IBlobClient blobClient) { Guard.ArgumentNotNull(resultsRepository, nameof(resultsRepository)); Guard.ArgumentNotNull(mapper, nameof(mapper)); Guard.ArgumentNotNull(searchRepository, nameof(searchRepository)); Guard.ArgumentNotNull(telemetry, nameof(telemetry)); Guard.ArgumentNotNull(providerSourceDatasetRepository, nameof(providerSourceDatasetRepository)); Guard.ArgumentNotNull(calculationProviderResultsSearchRepository, nameof(calculationProviderResultsSearchRepository)); Guard.ArgumentNotNull(specificationsRepository, nameof(specificationsRepository)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(providerImportMappingService, nameof(providerImportMappingService)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(messengerService, nameof(messengerService)); Guard.ArgumentNotNull(calculationRepository, nameof(calculationRepository)); Guard.ArgumentNotNull(masterProviderModelValidator, nameof(masterProviderModelValidator)); Guard.ArgumentNotNull(featureToggle, nameof(featureToggle)); Guard.ArgumentNotNull(blobClient, nameof(blobClient)); _logger = logger; _resultsRepository = resultsRepository; _mapper = mapper; _searchRepository = searchRepository; _telemetry = telemetry; _providerSourceDatasetRepository = providerSourceDatasetRepository; _calculationProviderResultsSearchRepository = calculationProviderResultsSearchRepository; _resultsRepositoryPolicy = resiliencePolicies.ResultsRepository; _specificationsRepository = specificationsRepository; _resultsSearchRepositoryPolicy = resiliencePolicies.ResultsSearchRepository; _specificationsRepositoryPolicy = resiliencePolicies.SpecificationsRepository; _providerImportMappingService = providerImportMappingService; _cacheProvider = cacheProvider; _messengerService = messengerService; _calculationRepository = calculationRepository; _masterProviderModelValidator = masterProviderModelValidator; _calculationsRepositoryPolicy = resiliencePolicies.CalculationsRepository; _featureToggle = featureToggle; _blobClient = blobClient; _blobClientPolicy = resiliencePolicies.CsvBlobPolicy; }
public JobService(IJobRepository jobRepository, IMapper mapper, IJobsResiliencePolicies resiliencePolicies) { Guard.ArgumentNotNull(jobRepository, nameof(jobRepository)); Guard.ArgumentNotNull(mapper, nameof(mapper)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); _jobRepository = jobRepository; _mapper = mapper; _jobsRepositoryPolicy = resiliencePolicies.JobRepository; _jobsRepositoryNonAsyncPolicy = resiliencePolicies.JobRepositoryNonAsync; }
public JobDefinitionsService(IJobDefinitionsRepository jobDefinitionsRepository, ILogger logger, IJobsResiliencePolicies resiliencePolicies, ICacheProvider cacheProvider) { Guard.ArgumentNotNull(jobDefinitionsRepository, nameof(jobDefinitionsRepository)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); _jobDefinitionsRepository = jobDefinitionsRepository; _logger = logger; _jobDefinitionsRepositoryPolicy = resiliencePolicies.JobDefinitionsRepository; _jobDefinitionsRepositoryNonAsyncPolicy = resiliencePolicies.JobRepositoryNonAsync; _cacheProvider = cacheProvider; _cachePolicy = resiliencePolicies.CacheProviderPolicy; }
public BuildProjectsService( ILogger logger, ITelemetry telemetry, IProviderResultsRepository providerResultsRepository, ISpecificationRepository specificationsRepository, ICacheProvider cacheProvider, ICalculationsRepository calculationsRepository, IFeatureToggle featureToggle, IJobsApiClient jobsApiClient, ICalcsResiliencePolicies resiliencePolicies, EngineSettings engineSettings, ISourceCodeService sourceCodeService, IDatasetRepository datasetRepository, IBuildProjectsRepository buildProjectsRepository) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(telemetry, nameof(telemetry)); Guard.ArgumentNotNull(providerResultsRepository, nameof(providerResultsRepository)); Guard.ArgumentNotNull(specificationsRepository, nameof(specificationsRepository)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository)); Guard.ArgumentNotNull(featureToggle, nameof(featureToggle)); Guard.ArgumentNotNull(jobsApiClient, nameof(jobsApiClient)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(engineSettings, nameof(engineSettings)); Guard.ArgumentNotNull(sourceCodeService, nameof(sourceCodeService)); Guard.ArgumentNotNull(datasetRepository, nameof(datasetRepository)); Guard.ArgumentNotNull(buildProjectsRepository, nameof(buildProjectsRepository)); _logger = logger; _telemetry = telemetry; _providerResultsRepository = providerResultsRepository; _specificationsRepository = specificationsRepository; _cacheProvider = cacheProvider; _calculationsRepository = calculationsRepository; _featureToggle = featureToggle; _jobsApiClient = jobsApiClient; _jobsApiClientPolicy = resiliencePolicies.JobsApiClient; _engineSettings = engineSettings; _sourceCodeService = sourceCodeService; _datasetRepository = datasetRepository; _datasetRepositoryPolicy = resiliencePolicies.DatasetsRepository; _buildProjectsRepository = buildProjectsRepository; _buildProjectsRepositoryPolicy = resiliencePolicies.BuildProjectRepositoryPolicy; }
public DatasetDefinitionFieldChangesProcessor( IFeatureToggle featureToggle, ILogger logger, IDatasetRepository datasetRepository, IScenariosResiliencePolicies scenariosResiliencePolicies, IScenariosService scenariosService) { Guard.ArgumentNotNull(featureToggle, nameof(featureToggle)); Guard.ArgumentNotNull(datasetRepository, nameof(datasetRepository)); Guard.ArgumentNotNull(scenariosResiliencePolicies, nameof(scenariosResiliencePolicies)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(scenariosService, nameof(scenariosService)); _featureToggle = featureToggle; _logger = logger; _datasetRepository = datasetRepository; _datasetRepositoryPolicy = scenariosResiliencePolicies.DatasetRepository; _scenariosService = scenariosService; }
public ScenariosService( ILogger logger, IScenariosRepository scenariosRepository, ISpecificationsRepository specificationsRepository, IValidator <CreateNewTestScenarioVersion> createNewTestScenarioVersionValidator, ISearchRepository <ScenarioIndex> searchRepository, ICacheProvider cacheProvider, IBuildProjectRepository buildProjectRepository, IVersionRepository <TestScenarioVersion> versionRepository, IJobsApiClient jobsApiClient, ICalcsRepository calcsRepository, IScenariosResiliencePolicies scenariosResiliencePolicies) { Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(scenariosRepository, nameof(scenariosRepository)); Guard.ArgumentNotNull(specificationsRepository, nameof(specificationsRepository)); Guard.ArgumentNotNull(createNewTestScenarioVersionValidator, nameof(createNewTestScenarioVersionValidator)); Guard.ArgumentNotNull(searchRepository, nameof(searchRepository)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(buildProjectRepository, nameof(buildProjectRepository)); Guard.ArgumentNotNull(versionRepository, nameof(versionRepository)); Guard.ArgumentNotNull(jobsApiClient, nameof(jobsApiClient)); Guard.ArgumentNotNull(calcsRepository, nameof(calcsRepository)); Guard.ArgumentNotNull(scenariosResiliencePolicies, nameof(scenariosResiliencePolicies)); _scenariosRepository = scenariosRepository; _logger = logger; _specificationsRepository = specificationsRepository; _createNewTestScenarioVersionValidator = createNewTestScenarioVersionValidator; _searchRepository = searchRepository; _cacheProvider = cacheProvider; _buildProjectRepository = buildProjectRepository; _cacheProvider = cacheProvider; _versionRepository = versionRepository; _jobsApiClient = jobsApiClient; _calcsRepository = calcsRepository; _jobsApiClientPolicy = scenariosResiliencePolicies.JobsApiClient; _calcsRepositoryPolicy = scenariosResiliencePolicies.CalcsRepository; _scenariosRepositoryPolicy = scenariosResiliencePolicies.ScenariosRepository; }
public DatasetDefinitionFieldChangesProcessor( IFeatureToggle featureToggle, IDatasetRepository datasetRepository, ICalcsResiliencePolicies resiliencePolicies, ILogger logger, ICalculationService calculationService, ICalculationsRepository calculationsRepository) { Guard.ArgumentNotNull(featureToggle, nameof(featureToggle)); Guard.ArgumentNotNull(datasetRepository, nameof(datasetRepository)); Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(calculationService, nameof(calculationService)); Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository)); _featureToggle = featureToggle; _datasetRepository = datasetRepository; _datasetRepositoryPolicy = resiliencePolicies.DatasetsRepository; _logger = logger; _calculationService = calculationService; _calculationsRepository = calculationsRepository; _calculationsRepositoryPolicy = resiliencePolicies.CalculationsRepository; }
public DefinitionSpecificationRelationshipService(IDatasetRepository datasetRepository, ILogger logger, ISpecificationsRepository specificationsRepository, IValidator <CreateDefinitionSpecificationRelationshipModel> relationshipModelValidator, IMessengerService messengerService, IDatasetService datasetService, ICalcsRepository calcsRepository, IDefinitionsService definitionService, ICacheProvider cacheProvider, IDatasetsResiliencePolicies datasetsResiliencePolicies, IJobsApiClient jobsApiClient) { Guard.ArgumentNotNull(datasetRepository, nameof(datasetRepository)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(specificationsRepository, nameof(specificationsRepository)); Guard.ArgumentNotNull(relationshipModelValidator, nameof(relationshipModelValidator)); Guard.ArgumentNotNull(messengerService, nameof(messengerService)); Guard.ArgumentNotNull(datasetService, nameof(datasetService)); Guard.ArgumentNotNull(calcsRepository, nameof(calcsRepository)); Guard.ArgumentNotNull(definitionService, nameof(definitionService)); Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider)); Guard.ArgumentNotNull(datasetsResiliencePolicies, nameof(datasetsResiliencePolicies)); Guard.ArgumentNotNull(jobsApiClient, nameof(jobsApiClient)); _datasetRepository = datasetRepository; _logger = logger; _specificationsRepository = specificationsRepository; _relationshipModelValidator = relationshipModelValidator; _messengerService = messengerService; _datasetService = datasetService; _calcsRepository = calcsRepository; _definitionService = definitionService; _cacheProvider = cacheProvider; _jobsApiClient = jobsApiClient; _jobsApiClientPolicy = datasetsResiliencePolicies.JobsApiClient; }
public void RegisterComponents(IServiceCollection builder) { builder.AddSingleton <ISpecificationsRepository, SpecificationsRepository>(); builder .AddSingleton <ISpecificationsService, SpecificationsService>() .AddSingleton <IHealthChecker, SpecificationsService>(); builder.AddSingleton <IValidator <PolicyCreateModel>, PolicyCreateModelValidator>(); builder.AddSingleton <IValidator <PolicyEditModel>, PolicyEditModelValidator>(); builder.AddSingleton <IValidator <CalculationCreateModel>, CalculationCreateModelValidator>(); builder.AddSingleton <IValidator <SpecificationCreateModel>, SpecificationCreateModelValidator>(); builder.AddSingleton <IValidator <CalculationEditModel>, CalculationEditModelValidator>(); builder.AddSingleton <IValidator <SpecificationEditModel>, SpecificationEditModelValidator>(); builder.AddSingleton <IValidator <AssignDefinitionRelationshipMessage>, AssignDefinitionRelationshipMessageValidator>(); builder .AddSingleton <ISpecificationsSearchService, SpecificationsSearchService>() .AddSingleton <IHealthChecker, SpecificationsSearchService>(); builder.AddSingleton <IResultsRepository, ResultsRepository>(); builder.AddSingleton <ICalculationsRepository, CalculationsRepository>(); builder.AddSingleton <IFundingService, FundingService>(); builder.AddSingleton <ICosmosRepository, CosmosRepository>(); builder.AddSingleton <IVersionRepository <SpecificationVersion>, VersionRepository <SpecificationVersion> >((ctx) => { CosmosDbSettings specsVersioningDbSettings = new CosmosDbSettings(); Configuration.Bind("CosmosDbSettings", specsVersioningDbSettings); specsVersioningDbSettings.CollectionName = "specs"; CosmosRepository resultsRepostory = new CosmosRepository(specsVersioningDbSettings); return(new VersionRepository <SpecificationVersion>(resultsRepostory)); }); MapperConfiguration mappingConfig = new MapperConfiguration(c => c.AddProfile <SpecificationsMappingProfile>()); builder.AddFeatureToggling(Configuration); builder.AddSingleton(mappingConfig.CreateMapper()); builder.AddUserProviderFromRequest(); builder.AddCosmosDb(Configuration); builder.AddServiceBus(Configuration); builder.AddSearch(Configuration); builder.AddCaching(Configuration); builder.AddResultsInterServiceClient(Configuration); builder.AddJobsInterServiceClient(Configuration); builder.AddCalcsInterServiceClient(Configuration); builder.AddPolicySettings(Configuration); builder.AddSingleton <ISpecificationsResiliencePolicies>((ctx) => { PolicySettings policySettings = ctx.GetService <PolicySettings>(); BulkheadPolicy totalNetworkRequestsPolicy = ResiliencePolicyHelpers.GenerateTotalNetworkRequestsPolicy(policySettings); Polly.Policy redisPolicy = ResiliencePolicyHelpers.GenerateRedisPolicy(totalNetworkRequestsPolicy); return(new SpecificationsResiliencePolicies() { JobsApiClient = ResiliencePolicyHelpers.GenerateRestRepositoryPolicy(totalNetworkRequestsPolicy) }); }); builder.AddApplicationInsights(Configuration, "CalculateFunding.Api.Specs"); builder.AddApplicationInsightsTelemetryClient(Configuration, "CalculateFunding.Apis.Specs"); builder.AddLogging("CalculateFunding.Apis.Specs"); builder.AddTelemetry(); builder.AddApiKeyMiddlewareSettings((IConfigurationRoot)Configuration); builder.AddHttpContextAccessor(); builder.AddHealthCheckMiddleware(); }
/// <summary> /// Initializes a new instance of <see cref="Policy"/> /// </summary> /// <param name="underlyingPolicy">The underlying <see cref="Polly.Policy"/></param> public Policy(Polly.Policy underlyingPolicy) { UnderlyingPolicy = underlyingPolicy; }
/// <summary> /// Initializes a new instance of <see cref="NamedPolicy"/> /// </summary> /// <param name="name">Name of the policy</param> /// <param name="underlyingPolicy">The underlying <see cref="Polly.Policy"/></param> public NamedPolicy(string name, Polly.Policy underlyingPolicy) : base(underlyingPolicy) { Name = name; }
/// <summary> /// Initializes a new instance of <see cref="NamedPolicy"/> /// </summary> /// <param name="underlyingPolicy">The underlying <see cref="Polly.Policy"/></param> public PolicyFor(Polly.Policy underlyingPolicy) : base(underlyingPolicy) { }