public CashInOutQueue(AppSettings.RabbitMqSettings config, ILog log,
                       IBitcoinCommandSender bitcoinCommandSender,
                       ICashOperationsRepository cashOperationsRepository,
                       IWalletCredentialsRepository walletCredentialsRepository,
                       IBitCoinTransactionsRepository bitcoinTransactionsRepository,
                       IForwardWithdrawalRepository forwardWithdrawalRepository,
                       ICachedAssetsService assetsService,
                       IOffchainRequestService offchainRequestService,
                       IClientSettingsRepository clientSettingsRepository,
                       IEthereumTransactionRequestRepository ethereumTransactionRequestRepository,
                       ISrvEthereumHelper srvEthereumHelper,
                       IBcnClientCredentialsRepository bcnClientCredentialsRepository,
                       IEthClientEventLogs ethClientEventLogs,
                       IHistoryWriter historyWriter,
                       IBitcoinTransactionService bitcoinTransactionService)
 {
     _rabbitConfig                         = config;
     _log                                  = log;
     _bitcoinCommandSender                 = bitcoinCommandSender;
     _cashOperationsRepository             = cashOperationsRepository;
     _walletCredentialsRepository          = walletCredentialsRepository;
     _bitcoinTransactionsRepository        = bitcoinTransactionsRepository;
     _forwardWithdrawalRepository          = forwardWithdrawalRepository;
     _assetsService                        = assetsService;
     _offchainRequestService               = offchainRequestService;
     _clientSettingsRepository             = clientSettingsRepository;
     _ethereumTransactionRequestRepository = ethereumTransactionRequestRepository;
     _srvEthereumHelper                    = srvEthereumHelper;
     _bcnClientCredentialsRepository       = bcnClientCredentialsRepository;
     _ethClientEventLogs                   = ethClientEventLogs;
     _bitcoinTransactionService            = bitcoinTransactionService;
     _historyWriter                        = historyWriter;
 }
 public RunManager(
     IScheduleReader <TIdentifier> scheduleReader,
     ITaskDefinitionReader <TIdentifier> taskDefinitionReader,
     IRunner <TIdentifier> runner,
     IHistoryWriter <TIdentifier> historyWriter,
     IScheduleWriter <TIdentifier> scheduleWriter,
     IPreconditionReader <TIdentifier> preconditionReader,
     IDueTasksFilter <TIdentifier> dueTasksFilter,
     IHistoryReader <TIdentifier> historyReader,
     IServiceScopeFactory serviceScopeFactory,
     ILogger <RunManager <TIdentifier> > logger,
     IInbuiltTaskPreconditionsProvider <TIdentifier> inbuiltTaskPreconditionsProvider,
     ITaskDefinitionStateReader <TIdentifier> taskDefinitionStateReader,
     ITaskDefinitionStateWriter <TIdentifier> taskDefinitionStateWriter,
     IFaultHandler <TIdentifier> faultHandler,
     IFaultReporter <TIdentifier> faultReporter,
     IOnDemandQueueManager <TIdentifier> onDemandQueueManager,
     ITaskRunnerLogger taskRunnerLogger)
 {
     this.scheduleReader       = scheduleReader;
     this.taskDefinitionReader = taskDefinitionReader;
     this.runner              = runner;
     this.historyWriter       = historyWriter;
     this.scheduleWriter      = scheduleWriter;
     this.preconditionReader  = preconditionReader;
     this.dueTasksFilter      = dueTasksFilter;
     this.historyReader       = historyReader;
     this.serviceScopeFactory = serviceScopeFactory;
     Logger = logger;
     this.inbuiltTaskPreconditionsProvider = inbuiltTaskPreconditionsProvider;
     this.taskDefinitionStateReader        = taskDefinitionStateReader;
     this.taskDefinitionStateWriter        = taskDefinitionStateWriter;
     this.faultHandler         = faultHandler;
     this.faultReporter        = faultReporter;
     this.onDemandQueueManager = onDemandQueueManager;
     this.taskRunnerLogger     = taskRunnerLogger;
 }
 public HistoryRecorder(IHistoryWriter writer, IDateTimeProvider dateTimeProvider)
 {
     this._writer           = writer;
     this._dateTimeProvider = dateTimeProvider;
 }