private static bool LoadRequiredFields(XmlNode inputNode, ValuePresentation unit)
{
var offsetValue = inputNode.GetXmlNodeValue("@B");
var scaleValue = inputNode.GetXmlNodeValue("@C");
var decimalDigitsValue = inputNode.GetXmlNodeValue("@D");
if (string.IsNullOrEmpty(offsetValue) ||
string.IsNullOrEmpty(scaleValue) ||
string.IsNullOrEmpty(decimalDigitsValue))
return false;
long offset;
if (!long.TryParse(offsetValue, NumberStyles.Integer, CultureInfo.InvariantCulture, out offset))
return false;
unit.Offset = offset;
double scale;
if (!double.TryParse(scaleValue, NumberStyles.Number, CultureInfo.InvariantCulture, out scale) ||
scale < 0)
return false;
unit.Scale = scale;
byte decimalDigits;
if (!byte.TryParse(decimalDigitsValue, NumberStyles.Integer, CultureInfo.InvariantCulture, out decimalDigits) ||
decimalDigits < 0 || decimalDigits > 7)
return false;
unit.DecimalDigits = decimalDigits;
return true;
}