/// <summary>Validate a string representing a currency value.</summary> /// <param name="value"></param><param name="representation"></param> /// <returns></returns> private static bool ValidateCurrency(string value, FormattedOrRaw representation) { switch (representation) { case FormattedOrRaw.FORMATTED: { decimal result; if (!decimal.TryParse(value, out result)) return false; if (result > 21474835 || result < 0) return false; // conversion to int will not be possible. return true; } case FormattedOrRaw.RAW: { int result; return (int.TryParse(value, out result) && result >= 0); } default: throw new Exception("Unknown formatting type " + representation.ToString()); } }