private ISqlValue ToDayToSecond(SqlString value) { SqlDayToSecond dts; if (!SqlDayToSecond.TryParse(value.Value, out dts)) { return(SqlNull.Value); } return(dts); }
public static void TryParse(string s, int days, int hours, int minutes, int seconds, int millis) { SqlDayToSecond dts; Assert.True(SqlDayToSecond.TryParse(s, out dts)); Assert.Equal(days, dts.Days); Assert.Equal(hours, dts.Hours); Assert.Equal(minutes, dts.Minutes); Assert.Equal(seconds, dts.Seconds); Assert.Equal(millis, dts.Milliseconds); }
private static bool TryParseValue(SqlTypeCode typeCode, string s, IFormatProvider provider, out ISqlValue outValue, out Exception error) { try { switch (typeCode) { case SqlTypeCode.TinyInt: case SqlTypeCode.SmallInt: case SqlTypeCode.Integer: case SqlTypeCode.BigInt: case SqlTypeCode.Real: case SqlTypeCode.Double: case SqlTypeCode.Decimal: case SqlTypeCode.Float: case SqlTypeCode.Numeric: case SqlTypeCode.VarNumeric: { error = null; var result = SqlNumber.TryParse(s, provider, out var value); outValue = value; return(result); } case SqlTypeCode.Bit: case SqlTypeCode.Boolean: { error = null; var result = SqlBoolean.TryParse(s, out var value); outValue = value; return(result); } case SqlTypeCode.Date: case SqlTypeCode.DateTime: case SqlTypeCode.TimeStamp: { error = null; var result = SqlDateTime.TryParse(s, out var value); outValue = value; return(result); } case SqlTypeCode.YearToMonth: { error = null; var result = SqlYearToMonth.TryParse(s, out var value); outValue = value; return(result); } case SqlTypeCode.DayToSecond: { error = null; var result = SqlDayToSecond.TryParse(s, out var value); outValue = value; return(result); } default: { error = new FormatException($"The type {typeCode} does not support parsing"); outValue = null; return(false); } } } catch (Exception ex) { error = ex; outValue = null; return(false); } }
public static void TryInvalidParse(string s) { SqlDayToSecond dts; Assert.False(SqlDayToSecond.TryParse(s, out dts)); }