public LiquidityEnginePnLStopLossEnginesTriggeredChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     LiquidityEngineUrlSettings settings,
     ILogFactory logFactory)
     : base(channel, telegramSender, logFactory)
 {
     _settings = settings;
 }
예제 #2
0
 public LiquidityEngineMessagesChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     LiquidityEngineUrlSettings settings,
     ILogFactory logFactory)
     : base(channel, telegramSender, logFactory)
 {
     _settings = settings;
 }
예제 #3
0
 public IndexHedgingEngineHealthIssuesChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     ILogFactory logFactory,
     IIndexHedgingEngineClient indexHedgingEngineClient)
     : base(channel, telegramSender, logFactory)
 {
     _indexHedgingEngineClient = indexHedgingEngineClient;
 }
 public LiquidityEngineSummaryChannel(
     IReportChannel channel,
     ITelegramSender telegramSender,
     ILogFactory logFactory,
     LiquidityEngineUrlSettings settings,
     IAssetsServiceWithCache assetsServiceWithCache)
     : base(channel, telegramSender, logFactory)
 {
     _settings = settings;
     _assetsServiceWithCache = assetsServiceWithCache;
 }
예제 #5
0
        protected ReportChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory)
        {
            _telegramSender = telegramSender;
            _logFactory     = logFactory;
            ChannelId       = channel.ChannelId;
            Type            = channel.Type;
            ChatId          = channel.ChatId;
            Interval        = channel.Interval;
            Metainfo        = channel.Metainfo;

            Log = _logFactory.CreateLog(this);
        }
예제 #6
0
        private ReportChannel CreateReportChannel(IReportChannel channel)
        {
            try
            {
                if (channel.Type == HelloWorldReportChannel.Name)
                {
                    return(new HelloWorldReportChannel(channel, _telegramSender, _logFactory));
                }

                if (channel.Type == LiquidityEngineSummaryChannel.Name)
                {
                    return(new LiquidityEngineSummaryChannel(channel, _telegramSender, _logFactory,
                                                             _liquidityEngineUrlSettings, _assetsServiceWithCache));
                }

                if (channel.Type == DwhStoreProcedureChannel.Name)
                {
                    return(new DwhStoreProcedureChannel(channel, _telegramSender, _logFactory, _dwhClient));
                }

                if (channel.Type == LyciSandipOfferChannel.Name)
                {
                    return(new LyciSandipOfferChannel(channel, _telegramSender, _logFactory, _dwhClient));
                }

                if (channel.Type == IndexHedgingEngineHealthIssuesChannel.Name)
                {
                    return(new IndexHedgingEngineHealthIssuesChannel(channel, _telegramSender, _logFactory,
                                                                     _indexHedgingEngineClient));
                }

                if (channel.Type == LiquidityEngineMessagesChannel.Name)
                {
                    return(new LiquidityEngineMessagesChannel(channel, _telegramSender, _liquidityEngineUrlSettings, _logFactory));
                }

                if (channel.Type == LiquidityEnginePnLStopLossEnginesChannel.Name)
                {
                    return(new LiquidityEnginePnLStopLossEnginesChannel(channel, _telegramSender, _liquidityEngineUrlSettings, _logFactory));
                }

                if (channel.Type == LiquidityEnginePnLStopLossEnginesTriggeredChannel.Name)
                {
                    return(new LiquidityEnginePnLStopLossEnginesTriggeredChannel(channel, _telegramSender, _liquidityEngineUrlSettings, _logFactory));
                }
            }
            catch (Exception ex)
            {
                _log.Warning($"Can't create channel '{channel.Type}'.", ex, channel.Type);
            }

            return(null);
        }
        public Task AddOrUpdateChannelAsync(IReportChannel channel)
        {
            var entity = new ReportChannelEntity(channel);

            return(_storage.InsertOrReplaceAsync(entity));
        }
 public ReportChannelEntity(IReportChannel channel)
     : this(channel.ChannelId, channel.Type, channel.ChatId, channel.Interval, channel.Metainfo)
 {
 }
예제 #9
0
 public DwhStoreProcedureChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory,
                                 IDwhClient dwhClient) : base(channel, telegramSender, logFactory)
 {
     _dwhClient = dwhClient;
     _log       = logFactory.CreateLog(this);
 }
예제 #10
0
 public LyciSandipOfferChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory, IDwhClient dwhClient)
     : base(channel, telegramSender, logFactory)
 {
     _dwhClient = dwhClient;
 }
예제 #11
0
 public HelloWorldReportChannel(IReportChannel channel, ITelegramSender telegramSender, ILogFactory logFactory) : base(channel, telegramSender, logFactory)
 {
 }