public ExchangeBalanceHistoryWriter( ISubscriber <IReadOnlyList <ExBalanceUpdateMessage> > subscriber, ILogger <ExchangeBalanceHistoryWriter> logger, DbContextOptionsBuilder <DatabaseContext> dbContextOptionsBuilder, MyLocker locker) { _logger = logger; _dbContextOptionsBuilder = dbContextOptionsBuilder; _locker = locker; _mmWallets = Program.Settings.MmWallets.Split(';').ToList(); subscriber.Subscribe(HandleEvents); _timer = new MyTaskTimer(nameof(ExchangeBalanceHistoryWriter), TimeSpan.FromSeconds(60), logger, DoTimer); _timer.Start(); }
public OperationHistoryWriter( ILogger <OperationHistoryWriter> logger, DbContextOptionsBuilder <DatabaseContext> dbContextOptionsBuilder, IMyNoSqlServerDataWriter <OperationHistoryNoSqlEntity> writer, ISubscriber <IReadOnlyList <Withdrawal> > withdrawalSubscriber, ISubscriber <IReadOnlyList <Deposit> > depositSubscriber, ISubscriber <IReadOnlyList <SwapMessage> > swapSubscriber, ISubscriber <IReadOnlyList <Transfer> > transferSubscriber, ISubscriber <IReadOnlyList <ManualChangeBalanceMessage> > manualChangeSubscriber, ISubscriber <IReadOnlyList <PaidInterestRateMessage> > interestRateSubscriber, ISubscriber <IReadOnlyList <FeePaymentEntity> > feePaymentSubscriber, ISubscriber <IReadOnlyList <RewardPaymentMessage> > rewardSubscriber, ISubscriber <IReadOnlyList <SimplexIntention> > simplexSubscriber, ISubscriber <IReadOnlyList <InvestOrder> > investSubscriber, ISubscriber <IReadOnlyList <InitialFuturePayment> > futurePaymentSubscriber, ISubscriber <IReadOnlyList <ClientOfferAction> > clientOfferActionSubscriber, MyLocker locker, IConvertIndexPricesClient pricesClient) { _logger = logger; _dbContextOptionsBuilder = dbContextOptionsBuilder; _writer = writer; _locker = locker; _pricesClient = pricesClient; Program.Settings.MmWallets.Split(';').ToList(); //subscriber.Subscribe(HandleEvents); withdrawalSubscriber.Subscribe(HandleWithdrawalUpdates); depositSubscriber.Subscribe(HandleDepositUpdates); swapSubscriber.Subscribe(HandleSwapUpdates); transferSubscriber.Subscribe(HandleTransferUpdates); manualChangeSubscriber.Subscribe(HandleManualChangeUpdates); interestRateSubscriber.Subscribe(HandleInterestRateUpdates); feePaymentSubscriber.Subscribe(HandleFeePaymentUpdates); rewardSubscriber.Subscribe(HandleRewardPaymentUpdates); simplexSubscriber.Subscribe(HandleNewSimplexUpdates); investSubscriber.Subscribe(HandleInvestOrdersUpdates); futurePaymentSubscriber.Subscribe(HandleFuturePayments); clientOfferActionSubscriber.Subscribe(HandleEarnClientOfferActionUpdates); _timer = new MyTaskTimer(nameof(OperationHistoryWriter), TimeSpan.FromSeconds(60), logger, DoTimer); _timer.Start(); }