public static SqlInt16 ConvertToSqlInt16(object value)
{
Debug.Assert(value != null, "null argument in ConvertToSqlInt16");
if (value == DBNull.Value)
{
return SqlInt16.Null;
}
Type valueType = value.GetType();
StorageType stype = DataStorage.GetStorageType(valueType);
switch (stype)
{
case StorageType.Byte:
return (byte)value;
case StorageType.Int16:
return (short)value;
case StorageType.SqlByte:
return (SqlByte)value;
case StorageType.SqlInt16:
return (SqlInt16)value;
default:
throw ExceptionBuilder.ConvertFailed(valueType, typeof(SqlInt16));
}
}