private ISqlValue ToNumber(SqlString value, SqlType destType) { var locale = Locale ?? CultureInfo.InvariantCulture; SqlNumber number; if (!SqlNumber.TryParse(value.Value, locale, out number)) { throw new InvalidCastException(); } return(destType.NormalizeValue(number)); }
private ISqlValue ToDateTime(SqlString value, SqlType destType) { if (value == null) { throw new InvalidCastException(); } SqlDateTime date; if (!SqlDateTime.TryParse(value.Value, out date)) { throw new InvalidCastException(); } return(destType.NormalizeValue(date)); }
public SqlObject(SqlType type, ISqlValue value) { if (type == null) { throw new ArgumentNullException(nameof(type)); } if (value == null) { value = SqlNull.Value; } if (!type.IsInstanceOf(value)) { throw new ArgumentException($"The value given is not an instance of {type}", nameof(value)); } Type = type; Value = type.NormalizeValue(value); }
private ISqlValue ToString(SqlString value, SqlType destType) { return(destType.NormalizeValue(value)); }