public static decimal?Apply(this FieldCalibration calibration, decimal?value) { if (!value.HasValue) { return(null); } return(value.Value * calibration.Slope + calibration.Offset); }
private Measurement ApplyCalibration(Measurement measurement, User device) { IterateFields(measurement, device, (fieldDescriptor, field) => { FieldCalibration calibration = fieldDescriptor.Calibration ?? new FieldCalibration(); if (calibration.Enabled) { field.Value = calibration.Apply(field.RawValue); field.IsCalibrated = true; } }); return(measurement); }