Esempio n. 1
0
        public async Task SetMarginTradingEnabled(string clientId, bool enabled)
        {
            var settings = await _clientAccountClient.GetMarginEnabledAsync(clientId);

            if (_marginSettings.IsLive)
            {
                settings.EnabledLive = enabled;
            }
            else
            {
                settings.Enabled = enabled;
            }

            await _clientAccountClient.SetMarginEnabledAsync(clientId, settings.Enabled, settings.EnabledLive,
                                                             settings.TermsOfUseAgreed);

            var marginEnabledChangedMessage = new MarginTradingEnabledChangedMessage
            {
                ClientId    = clientId,
                EnabledDemo = settings.Enabled,
                EnabledLive = settings.EnabledLive
            };

            _marginTradingSettingsCacheService.OnMarginTradingEnabledChanged(marginEnabledChangedMessage);
            await _eventsPublisher.ProduceAsync(marginEnabledChangedMessage);
        }
Esempio n. 2
0
 public void Start()
 {
     _rabbitMqService.Subscribe(
         _dataReaderSettings.Consumers.MarginTradingEnabledChanged, false,
         m =>
     {
         _marginTradingSettingsCacheService.OnMarginTradingEnabledChanged(m);
         return(Task.CompletedTask);
     },
         _rabbitMqService.GetJsonDeserializer <MarginTradingEnabledChangedMessage>());
 }
Esempio n. 3
0
 public Task ProcessMarginTradingEnabledChanged(MarginTradingEnabledChangedMessage message)
 {
     _marginTradingSettingsCacheService.OnMarginTradingEnabledChanged(message);
     return(Task.CompletedTask);
 }