/// <summary> /// Gets the hourly counter. /// </summary> /// <returns>The hourly counter.</returns> /// <param name="domain">Domain.</param> /// <param name="address">Address.</param> /// <param name="parameterName">Parameter name.</param> /// <param name="timescaleseconds">Timescaleseconds.</param> /// <param name="startDate">Start date.</param> /// <param name="endDate">End date.</param> public object[][] GetHourlyCounter(//List<StatisticsEntry> string domain, string address, string parameterName, double timescaleseconds, DateTime startDate, DateTime endDate ) { var hoursAverage = _statisticsRepository.GetHourlyCounter(domain, address, parameterName, timescaleseconds, startDate, endDate); var dayHourlyStats = new List <object>(); for (int h = 0; h < 24; h++) { StatisticsDbEntry firstEntry = null; if (hoursAverage != null && hoursAverage.Count > 0) { firstEntry = hoursAverage.Find(se => se.TimeStart.ToLocalTime().Hour == h); } var date = _dateTime.Today.AddHours(h); if (firstEntry != null) { var sum = hoursAverage.FindAll(se => se.TimeStart.ToLocalTime().Hour == h).Sum(se => se.AvgValue); var item = new[] { Utility.DateToJavascript(date), sum }; dayHourlyStats.Add(item); } else { var item = new[] { Utility.DateToJavascript(date), 0 }; dayHourlyStats.Add(item); } } return(new[] { dayHourlyStats.ToArray() }); }