ATMLModelLibrary.model.common.Datum.ValidateDatumValue C# (CSharp) Method

ValidateDatumValue() public static method

public static ValidateDatumValue ( object datum, CancelEventArgs e, System.Windows.Forms.ErrorProvider errorProvider, Control control, object oValue ) : void
datum object
e CancelEventArgs
errorProvider System.Windows.Forms.ErrorProvider
control System.Windows.Forms.Control
oValue object
return void
        public static void ValidateDatumValue(object datum,
            CancelEventArgs e,
            ErrorProvider errorProvider,
            Control control, object oValue)
        {
            uint ui = 0;
            ulong ul = 0;
            int i = 0;
            long l = 0;
            double d = 0;
            DateTime dt;
            String error = "";
            String value = oValue != null ? oValue.ToString() : "";
            if (datum is boolean && !Regex.IsMatch(value, "^[0-1]$"))
                error = "Invalid Boolean Expression, must be 0 or 1";
            else if (datum is hexadecimal && !Regex.IsMatch(value, "^[0-9A-Fa-f]+$"))
                error = "Invalid Hexidecimal Expression, must be 0-9 or A-F or a-f";
            else if (datum is octal && !Regex.IsMatch(value, "^[1-7][0-7]*$"))
                error = "Invalid Octal Expression, must be 0-7 ";
            else if (datum is unsignedInteger && !uint.TryParse(value, out ui))
                error = "Invalid Unsigned Integer value";
            else if (datum is unsignedLong && !ulong.TryParse(value, out ul))
                error = "Invalid Unsigned Long value";
            else if (datum is @long && !long.TryParse(value, out l))
                error = "Invalid Long value";
            else if (datum is @integer && !int.TryParse(value, out i))
                error = "Invalid Integer value";
            else if (datum is @double && !double.TryParse(value, out d))
                error = "Invalid Double value";
            else if (datum is dateTime && !DateTime.TryParse(value, out dt))
                error = "Invalid Date value";

            if (!String.IsNullOrEmpty(error) && e != null)
                e.Cancel = true;

            errorProvider.SetError(control, error);
        }