示例#1
0
        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();
        }