internal SharedContext(
     ICertificateReader certificateReader,
     IApiClient apiClient,
     IObcConfigurationProvider configurationProvider,
     IInstrumentationClient instrumentation,
     IKeySecretReadOnlyProvider keySecretReadOnlyProvider,
     IDbEntityRepository <BankClientProfile> clientProfileRepository,
     ISoftwareStatementProfileService softwareStatementProfileService,
     IDbEntityRepository <DomesticConsent> domesticConsentRepository,
     IEntityMapper entityMapper,
     IDbEntityRepository <ApiProfile> apiProfileRepository,
     IDbMultiEntityMethods dbContextService,
     IKeySecretWriteRepository <ActiveSoftwareStatementProfiles> activeSrRepo,
     IKeySecretMultiItemReadRepository <SoftwareStatementProfile> sReadOnlyRepo,
     IKeySecretMultiItemWriteRepository <SoftwareStatementProfile> sRepo,
     IKeySecretReadRepository <ActiveSoftwareStatementProfiles> activeSReadOnlyRepo)
 {
     CertificateReader               = certificateReader;
     ApiClient                       = apiClient;
     ConfigurationProvider           = configurationProvider;
     Instrumentation                 = instrumentation;
     KeySecretReadOnlyProvider       = keySecretReadOnlyProvider;
     ClientProfileRepository         = clientProfileRepository;
     SoftwareStatementProfileService = softwareStatementProfileService;
     DomesticConsentRepository       = domesticConsentRepository;
     EntityMapper                    = entityMapper;
     ApiProfileRepository            = apiProfileRepository;
     DbContextService                = dbContextService;
     ActiveSRRepo                    = activeSrRepo;
     SReadOnlyRepo                   = sReadOnlyRepo;
     SRepo = sRepo;
     ActiveSReadOnlyRepo = activeSReadOnlyRepo;
 }
 public RequestBuilder(
     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)
     : this(
         timeProvider : new TimeProvider(),
         entityMapper : entityMapper,
         dbContextService : dbContextService,
         configurationProvider : configurationProvider,
         logger : logger,
         keySecretReadOnlyProvider : keySecretReadOnlyProvider,
         apiClient : apiClient,
         certificateReader : certificateReader,
         clientProfileRepository : clientProfileRepository,
         domesticConsentRepo : domesticConsentRepo,
         apiProfileRepository : apiProfileRepository,
         activeSReadOnlyRepo : activeSReadOnlyRepo,
         activeSrRepo : activeSrRepo,
         sReadOnlyRepo : sReadOnlyRepo,
         sRepo : sRepo,
         softwareStatementProfileService : softwareStatementProfileService)
 {
 }
 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 ApiClient(IInstrumentationClient instrumentation, HttpClient httpClient)
 {
     _instrumentation = instrumentation.ArgNotNull(nameof(instrumentation));
     _httpClient      = httpClient.ArgNotNull(nameof(httpClient));
 }