Aqueduct.Monitoring.ReadingPublisher.ProcessReading C# (CSharp) Method

ProcessReading() static private method

static private ProcessReading ( ICollection dataPoints, Reading reading ) : void
dataPoints ICollection
reading Aqueduct.Monitoring.Readings.Reading
return void
		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);
			}
		}