Beispiel #1
0
 public HttpRequestService(MtFrontendSettings settings,
                           ICacheProvider cacheProvider,
                           IMaintenanceInfoRepository maintenanceInfoRepository,
                           ITerminalInfoService terminalInfoService)
 {
     _settings                  = settings;
     _cacheProvider             = cacheProvider;
     _maintenanceInfoRepository = maintenanceInfoRepository;
     _terminalInfoService       = terminalInfoService;
 }
Beispiel #2
0
 public IsAliveController(MtFrontendSettings setings,
                          IHttpRequestService httpRequestService,
                          WampSessionsService wampSessionsService,
                          IDateService dateService)
 {
     _setings             = setings;
     _httpRequestService  = httpRequestService;
     _wampSessionsService = wampSessionsService;
     _dateService         = dateService;
 }
Beispiel #3
0
 public RpcFacade(
     MtFrontendSettings settings,
     IHttpRequestService httpRequestService,
     IMarginTradingSettingsCacheService marginTradingSettingsCacheService,
     IMtDataReaderClientsPair dataReaderClients)
 {
     _settings           = settings;
     _httpRequestService = httpRequestService;
     _marginTradingSettingsCacheService = marginTradingSettingsCacheService;
     _dataReaderClients = dataReaderClients;
 }
Beispiel #4
0
 public RpcMtFrontend(
     MtFrontendSettings settings,
     IClientTokenService clientTokenService,
     RpcFacade rpcFacade,
     IDateService dateService)
 {
     _settings           = settings;
     _clientTokenService = clientTokenService;
     _rpcFacade          = rpcFacade;
     _dateService        = dateService;
 }
Beispiel #5
0
 public RabbitMqHandler(
     IWampHostedRealm realm,
     IClientAccountService clientNotificationService,
     IMarginTradingOperationsLogService operationsLogService,
     MtFrontendSettings settings,
     IConsole consoleWriter,
     ILog log,
     IMarginTradingSettingsCacheService marginTradingSettingsCacheService)
 {
     _realm = realm;
     _clientNotificationService = clientNotificationService;
     _operationsLog             = operationsLogService;
     _settings      = settings;
     _consoleWriter = consoleWriter;
     _log           = log;
     _marginTradingSettingsCacheService = marginTradingSettingsCacheService;
     _allPairsSubject = realm.Services.GetSubject <BidAskPairRabbitMqContract>(WampConstants.PricesTopicPrefix);
     _tradesSubject   = realm.Services.GetSubject <TradeClientContract>(WampConstants.TradesTopic);
 }
Beispiel #6
0
        private void SetSubscribers(MtFrontendSettings settings)
        {
            var rabbitMqService = ApplicationContainer.Resolve <IRabbitMqService>();
            var rabbitMqHandler = ApplicationContainer.Resolve <RabbitMqHandler>();

            // Best prices (only live)

            Subscribe <BidAskPairRabbitMqContract>(rabbitMqService, settings.MarginTradingLive.MtRabbitMqConnString,
                                                   settings.MarginTradingFront.RabbitMqQueues.OrderbookPrices.ExchangeName, rabbitMqHandler.ProcessPrices);

            // Account changes

            Subscribe <AccountChangedMessage>(rabbitMqService, settings.MarginTradingLive.MtRabbitMqConnString,
                                              settings.MarginTradingFront.RabbitMqQueues.AccountChanged.ExchangeName,
                                              rabbitMqHandler.ProcessAccountChanged);

            Subscribe <AccountChangedMessage>(rabbitMqService, settings.MarginTradingDemo.MtRabbitMqConnString,
                                              settings.MarginTradingFront.RabbitMqQueues.AccountChanged.ExchangeName,
                                              rabbitMqHandler.ProcessAccountChanged);

            // Order changes

            Subscribe <OrderContract>(rabbitMqService, settings.MarginTradingLive.MtRabbitMqConnString,
                                      settings.MarginTradingFront.RabbitMqQueues.OrderChanged.ExchangeName,
                                      rabbitMqHandler.ProcessOrderChanged);

            Subscribe <OrderContract>(rabbitMqService, settings.MarginTradingDemo.MtRabbitMqConnString,
                                      settings.MarginTradingFront.RabbitMqQueues.OrderChanged.ExchangeName,
                                      rabbitMqHandler.ProcessOrderChanged);

            // Stopout

            Subscribe <AccountStopoutBackendContract>(rabbitMqService, settings.MarginTradingLive.MtRabbitMqConnString,
                                                      settings.MarginTradingFront.RabbitMqQueues.AccountStopout.ExchangeName,
                                                      rabbitMqHandler.ProcessAccountStopout);

            Subscribe <AccountStopoutBackendContract>(rabbitMqService, settings.MarginTradingDemo.MtRabbitMqConnString,
                                                      settings.MarginTradingFront.RabbitMqQueues.AccountStopout.ExchangeName,
                                                      rabbitMqHandler.ProcessAccountStopout);

            // User updates

            Subscribe <UserUpdateEntityBackendContract>(rabbitMqService, settings.MarginTradingLive.MtRabbitMqConnString,
                                                        settings.MarginTradingFront.RabbitMqQueues.UserUpdates.ExchangeName,
                                                        rabbitMqHandler.ProcessUserUpdates);

            Subscribe <UserUpdateEntityBackendContract>(rabbitMqService, settings.MarginTradingDemo.MtRabbitMqConnString,
                                                        settings.MarginTradingFront.RabbitMqQueues.UserUpdates.ExchangeName,
                                                        rabbitMqHandler.ProcessUserUpdates);

            // Trades

            Subscribe <TradeContract>(rabbitMqService, settings.MarginTradingLive.MtRabbitMqConnString,
                                      settings.MarginTradingFront.RabbitMqQueues.Trades.ExchangeName, rabbitMqHandler.ProcessTrades);

            Subscribe <TradeContract>(rabbitMqService, settings.MarginTradingDemo.MtRabbitMqConnString,
                                      settings.MarginTradingFront.RabbitMqQueues.Trades.ExchangeName, rabbitMqHandler.ProcessTrades);

            Subscribe <MarginTradingEnabledChangedMessage>(rabbitMqService,
                                                           settings.MarginTradingLive.MtRabbitMqConnString,
                                                           settings.MarginTradingFront.RabbitMqQueues.MarginTradingEnabledChanged.ExchangeName,
                                                           rabbitMqHandler.ProcessMarginTradingEnabledChanged);

            Subscribe <MarginTradingEnabledChangedMessage>(rabbitMqService,
                                                           settings.MarginTradingDemo.MtRabbitMqConnString,
                                                           settings.MarginTradingFront.RabbitMqQueues.MarginTradingEnabledChanged.ExchangeName,
                                                           rabbitMqHandler.ProcessMarginTradingEnabledChanged);
        }