TimestampTicksLess() public method

public TimestampTicksLess ( IntPtr columnIndex, DateTimeOffset value ) : void
columnIndex IntPtr
value DateTimeOffset
return void
Beispiel #1
0
        private static void AddQueryLessThan(QueryHandle queryHandle, string columnName, object value, Type columnType)
        {
            var columnIndex = queryHandle.GetColumnIndex(columnName);

            switch (value)
            {
            case DateTimeOffset date:
                queryHandle.TimestampTicksLess(columnIndex, date);
                break;

            case string _:
            case bool _:
                throw new Exception($"Unsupported type {value.GetType().Name}");

            default:
                // The other types aren't handled by the switch because of potential compiler applied conversions
                AddQueryForConvertibleTypes(columnIndex, value, columnType, queryHandle.NumericLessMethods);
                break;
            }
        }
        private static void AddQueryLessThan(QueryHandle queryHandle, string columnName, object value)
        {
            var columnIndex = queryHandle.GetColumnIndex(columnName);

            if (value is char)
            {
                queryHandle.IntLess(columnIndex, (int)value);
            }
            else if (value is int)
            {
                queryHandle.IntLess(columnIndex, (int)value);
            }
            else if (value is long)
            {
                queryHandle.LongLess(columnIndex, (long)value);
            }
            else if (value is float)
            {
                queryHandle.FloatLess(columnIndex, (float)value);
            }
            else if (value is double)
            {
                queryHandle.DoubleLess(columnIndex, (double)value);
            }
            else if (value is DateTimeOffset)
            {
                queryHandle.TimestampTicksLess(columnIndex, (DateTimeOffset)value);
            }
            else if (value is string || value is bool)
            {
                throw new Exception($"Unsupported type {value.GetType().Name}");
            }
            else
            {
                throw new NotImplementedException();
            }
        }
        private static void AddQueryLessThan(QueryHandle queryHandle, string columnName, object value)
        {
            var columnIndex = queryHandle.GetColumnIndex(columnName);

            switch (value)
            {
            case char charValue:
                queryHandle.IntLess(columnIndex, charValue);
                break;

            case byte byteValue:
                queryHandle.IntLess(columnIndex, byteValue);
                break;

            case short shortValue:
                queryHandle.IntLess(columnIndex, shortValue);
                break;

            case int intValue:
                queryHandle.IntLess(columnIndex, intValue);
                break;

            case long longValue:
                queryHandle.LongLess(columnIndex, longValue);
                break;

            case float floatValue:
                queryHandle.FloatLess(columnIndex, floatValue);
                break;

            case double doubleValue:
                queryHandle.DoubleLess(columnIndex, doubleValue);
                break;

            case DateTimeOffset date:
                queryHandle.TimestampTicksLess(columnIndex, date);
                break;

            case string _:
            case bool _:
                throw new Exception($"Unsupported type {value.GetType().Name}");

            case RealmInteger <byte> byteValue:
                queryHandle.IntLess(columnIndex, byteValue);
                break;

            case RealmInteger <short> shortValue:
                queryHandle.IntLess(columnIndex, shortValue);
                break;

            case RealmInteger <int> intValue:
                queryHandle.IntLess(columnIndex, intValue);
                break;

            case RealmInteger <long> longValue:
                queryHandle.LongLess(columnIndex, longValue);
                break;

            default:
                throw new NotImplementedException();
            }
        }