internal RequestBuilder(
     ITimeProvider timeProvider,
     IEntityMapper entityMapper,
     IDbMultiEntityMethods dbContextService,
     IObcConfigurationProvider configurationProvider,
     IInstrumentationClient logger,
     IKeySecretReadOnlyProvider keySecretReadOnlyProvider,
     IApiClient apiClient,
     ICertificateReader certificateReader,
     IDbEntityRepository <BankClientProfile> clientProfileRepository,
     IDbEntityRepository <DomesticConsent> domesticConsentRepo,
     IDbEntityRepository <ApiProfile> apiProfileRepository,
     IKeySecretReadRepository <ActiveSoftwareStatementProfiles> activeSReadOnlyRepo,
     IKeySecretWriteRepository <ActiveSoftwareStatementProfiles> activeSrRepo,
     IKeySecretMultiItemReadRepository <SoftwareStatementProfile> sReadOnlyRepo,
     IKeySecretMultiItemWriteRepository <SoftwareStatementProfile> sRepo,
     ISoftwareStatementProfileService softwareStatementProfileService)
 {
     _certificateReader   = certificateReader.ArgNotNull(nameof(certificateReader));
     _timeProvider        = timeProvider.ArgNotNull(nameof(timeProvider));
     _entityMapper        = entityMapper.ArgNotNull(nameof(entityMapper));
     _dbContextService    = dbContextService;
     _activeSReadOnlyRepo = activeSReadOnlyRepo;
     _activeSRRepo        = activeSrRepo;
     _sReadOnlyRepo       = sReadOnlyRepo;
     _sRepo = sRepo;
     _softwareStatementProfileService = softwareStatementProfileService;
     _configurationProvider           = configurationProvider.ArgNotNull(nameof(configurationProvider));
     _logger = logger.ArgNotNull(nameof(logger));
     _keySecretReadOnlyProvider = keySecretReadOnlyProvider.ArgNotNull(nameof(keySecretReadOnlyProvider));
     _apiClient = apiClient.ArgNotNull(nameof(apiClient));
     _clientProfileRepository = clientProfileRepository.ArgNotNull(nameof(clientProfileRepository));
     _domesticConsentRepo     = domesticConsentRepo.ArgNotNull(nameof(domesticConsentRepo));
     _apiProfileRepository    = apiProfileRepository.ArgNotNull(nameof(apiProfileRepository));
 }
 public ThumbprintServerCertificateValidator(IKeySecretReadOnlyProvider keySecrets)
 {
     _keySecrets            = keySecrets.ArgNotNull(nameof(keySecrets));
     _thirdPartyThumbprints = new Lazy <HashSet <string> >(GetThumbprints(GetServerCertificatesAsync().Result));
 }