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) { dataPoint.Readings.Add(reading.Data); } else { readingData.Aggregate(reading.Data); } } }
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) dataPoint.Readings.Add(reading.Data); else readingData.Aggregate(reading.Data); } }