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);
        }