private void CreateDaysData(bool isRealSimulation, int days) { var monitorDb = new MonitorDb(); if (days > 0) { for (var i = days; i >= 0; i--) { var date = DateTime.UtcNow.AddDays(-i); if (isRealSimulation) { var realData = GenerateRandomMonitorValues(); foreach (var monitorValue in realData) { monitorDb.DeleteOldHistory(date, (int)FrequencyTypes.Minutes); ProcessHistoryByFrequency(monitorValue, date, FrequencyTypes.Days); } } else { var monitorValue = new MonitorValue { AgentId = 1, MonitorCommandId = 1, Value = GetRandomNumber(), ErrorMessage = "" }; monitorDb.InsertHistory(monitorValue, date, FrequencyTypes.Days); } } } }
public void ProcessHistoryByFrequency( MonitorValue monitorValue, DateTime dateTime, FrequencyTypes frequency) { DateTime dateStart; var monitorDb = new MonitorDb(); monitorDb.ConvertFrequencyToSubtractHrs(dateTime, frequency, out dateStart); bool isEntryPresentinDb = monitorDb.isEntryPresent(monitorValue, dateStart, frequency); if (!isEntryPresentinDb) { int frequencyToAvgEntries; switch (frequency) { case FrequencyTypes.Hours: frequencyToAvgEntries = 0; monitorValue.Value = monitorDb.GetAverageValue( monitorValue, frequencyToAvgEntries); break; case FrequencyTypes.Days : frequencyToAvgEntries = 1; monitorValue.Value = monitorDb.GetAverageValue( monitorValue, frequencyToAvgEntries); break; default: throw new Exception("frequency is not supported"); } monitorDb.InsertHistory(monitorValue, dateStart, frequency); } }