private void SetEnumeratedMeterValue(ISOSpatialRow isoSpatialRow, EnumeratedWorkingData meter, SpatialRecord spatialRecord)
{
var isoValue = isoSpatialRow.SpatialValues.SingleOrDefault(v => v.Id == meter.Id.FindIntIsoId());
if (isoValue != null)
{
var isoEnumeratedMeter = meter as ISOEnumeratedMeter;
var enumeratedValue = isoEnumeratedMeter.GetEnumeratedValue(isoValue, isoEnumeratedMeter);
spatialRecord.SetMeterValue(meter, enumeratedValue);
_representationValueInterpolator.SetMostRecentMeterValue(meter, enumeratedValue);
}
else
{
var value = _representationValueInterpolator.Interpolate(meter) as EnumeratedValue;
spatialRecord.SetMeterValue(meter, value);
}
}