Beispiel #1
0
        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);
                    }
                }
            }
        }
Beispiel #2
0
        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);
            }
        }