Esempio n. 1
0
        /// <see cref="ISiteAvailabilityRepository.SetPeriodSecondsAsync(int)"/>
        public async Task <bool> SetPeriodSecondsAsync(int periodSeconds)
        {
            if (await GetMonitoringSettingsAsync() == null)
            {
                MonitoringSettings monitoringSettings = new MonitoringSettings {
                    PeriodSeconds = periodSeconds
                };
                await _context.MonitoringSettings.InsertOneAsync(monitoringSettings);

                return(true);
            }
            else
            {
                var filter = Builders <MonitoringSettings> .Filter.Empty;
                var update = Builders <MonitoringSettings> .Update
                             .Set(s => s.PeriodSeconds, periodSeconds);

                var result = await _context.MonitoringSettings.UpdateOneAsync(filter, update);

                if (result.IsAcknowledged)
                {
                    return(true);
                }
            }
            return(false);
        }
 public FileChaosController(ResilientHttpClient client,
                            IOptions <MonitoringSettings> monitoringOptions,
                            IOptionsSnapshot <AppChaosSettings> chaosOptionsSnapshot,
                            ILogger <FileChaosController> logger)
 {
     this.client        = client;
     monitoringSettings = monitoringOptions.Value;
     chaosSettings      = chaosOptionsSnapshot.Value;
     _logger            = logger;
 }
        public async Task TestPostPeriodSecondsAsyncSuccess()
        {
            var repository         = Substitute.For <ISiteAvailabilityRepository>();
            var controller         = new SiteAvailabilityController(repository);
            var monitoringSettings = new MonitoringSettings {
                PeriodSeconds = 10
            };

            repository.SetPeriodSecondsAsync(monitoringSettings.PeriodSeconds).Returns(Task.FromResult <bool>(true));
            var result = await controller.PostPeriodSecondsAsync(monitoringSettings);

            Assert.IsTrue(result is OkResult);
        }
Esempio n. 4
0
        private void ApplyMonitoringHoldingsSettings(MonitoringSettings monitoringSettings)
        {
            _gridHoldingsData.Rows.Clear();
            foreach (var desiredCurrency in monitoringSettings.Holdings)
            {
                var newRow = new DataGridViewRow();
                newRow.CreateCells(_gridHoldingsData);
                newRow.SetValues(FormatCurrencyForDisplay(desiredCurrency.RowTag, monitoringSettings.CurrencyDisplayType), decimal.Parse(desiredCurrency.Value), "0.00", 0);
                newRow.Tag = desiredCurrency.RowTag;

                _gridHoldingsData.Rows.Add(newRow);
            }
        }
Esempio n. 5
0
        private void ApplyMonitoringMarketSettings(MonitoringSettings monitoringSettings)
        {
            _gridMarketData.Rows.Clear();
            foreach (var desiredCurrency in monitoringSettings.MarketCurrencyTypes)
            {
                var newRow = new DataGridViewRow();
                newRow.CreateCells(_gridMarketData);
                newRow.Tag = desiredCurrency;
                newRow.SetValues(FormatCurrencyForDisplay(desiredCurrency, monitoringSettings.CurrencyDisplayType), "0.00", 0, 0, 0, 0, 0, "0.00", "0.00", 0);

                _gridMarketData.Rows.Add(newRow);
            }
        }
Esempio n. 6
0
        public async Task <IActionResult> PostPeriodSecondsAsync([FromBody] MonitoringSettings monitoringSettings)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _siteAvailabilityRepository.SetPeriodSecondsAsync(monitoringSettings.PeriodSeconds);

            if (!result)
            {
                return(UnprocessableEntity());
            }
            return(Ok());
        }
Esempio n. 7
0
        private static TradesMonitor GetObjectUnderTest()
        {
            var validationSettings = new ValidationSettings()
            {
                OpenTimeDelta        = 1,
                VolumeToBalanceRatio = 0.05m,
            };
            var monitoringSettings = new MonitoringSettings()
            {
                RetentionPeriod = 3
            };
            var settingsRepositoryMock = new Mock <IValidationSettingsRepository>();

            settingsRepositoryMock.Setup(r => r.Get()).Returns(validationSettings);
            var monitoringSettingsRepositoryMock = new Mock <IMonitoringSettingsRepository>();

            monitoringSettingsRepositoryMock.Setup(r => r.Get()).Returns(monitoringSettings);
            var validator  = new TradeValidator(settingsRepositoryMock.Object);
            var loggerMock = new Mock <ILogger>();
            var underTest  = new TradesMonitor(validator, loggerMock.Object, monitoringSettingsRepositoryMock.Object);

            return(underTest);
        }
Esempio n. 8
0
 private void ApplyMonitoringSettings(MonitoringSettings monitoringSettings)
 {
     ApplyMonitoringMarketSettings(monitoringSettings);
     ApplyMonitoringHoldingsSettings(monitoringSettings);
     UpdateRefreshInterval(monitoringSettings.RefreshInterval);
 }
Esempio n. 9
0
 public CompleteSettings()
 {
     Layout     = new LayoutSettings();
     Monitoring = new MonitoringSettings();
 }
Esempio n. 10
0
 public MonitoringController(ResilientHttpClient client, IOptions <MonitoringSettings> monitoringOptions, IOptionsSnapshot <AppChaosSettings> chaosOptionsSnapshot)
 {
     this.client        = client;
     monitoringSettings = monitoringOptions.Value;
     chaosSettings      = chaosOptionsSnapshot.Value;
 }