static void ProcessReading(ICollection<FeatureStatistics> dataPoints, Reading reading)
{
var dataPoint = dataPoints.FirstOrDefault(data => data.Name == reading.FeatureName && data.Group == reading.FeatureGroup);
if (dataPoint == null)
{
dataPoint = new FeatureStatistics { Name = reading.FeatureName, Group = reading.FeatureGroup };
dataPoint.Readings.Add(reading.Data);
dataPoints.Add(dataPoint);
}
else
{
var readingData = dataPoint.Readings.FirstOrDefault(rd => rd.Name == reading.Data.Name);
if (readingData == null || readingData.CanAggregate == false)
dataPoint.Readings.Add(reading.Data);
else
readingData.Aggregate(reading.Data);
}
}