public IEnumerable <TimeStatisticItem> GetStatisticsPerHour(IEnumerable <Message> latestMessages, TimeRange expectedTimeRange) { var result = new List <TimeStatisticItem>(); expectedTimeRange.ForeachHour((i, hour) => { var sum = latestMessages.Where(x => x.SentAt.Date == hour.Date && x.SentAt.Hour == hour.Hour).Count(); var item = new TimeStatisticItem(TimeRange.Create(hour, hour.AddHours(1).AddSeconds(-1)), sum); result.Add(item); }); return(result); }