public string GetSqlCompare(Filter.ECompare compare)
        {
            switch (compare)
            {
            case Filter.ECompare.IsEqual: return("=");

            case Filter.ECompare.GreaterThan: return(">");

            case Filter.ECompare.GreaterThanEqual: return(">=");

            case Filter.ECompare.LessThan: return("<");

            case Filter.ECompare.LessThanEqual: return("<=");

            case Filter.ECompare.NotEqual: return("!=");

            case Filter.ECompare.IsIn: return("IN");

            case Filter.ECompare.IsNull: return("is null");

            case Filter.ECompare.IsNotNull: return("is not null");

            default:
                return("");
            }
        }
Exemplo n.º 2
0
 public FilterPair(TableColumn column1, object filterValue, Filter.ECompare compare = Filter.ECompare.IsEqual)
 {
     Column1     = column1;
     Column2     = null;
     FilterValue = filterValue;
     Compare     = compare;
 }
Exemplo n.º 3
0
 public FilterPair(TableColumn column1, TableColumn column2, Filter.ECompare compare = Filter.ECompare.IsEqual)
 {
     Column1     = column1;
     Column2     = column2;
     FilterValue = null;
     Compare     = compare;
 }
        public string ConvertOperator(Filter.ECompare Operator)
        {
            switch (Operator)
            {
            case Filter.ECompare.IsEqual:
                return("eq");

            case Filter.ECompare.GreaterThan:
                return("gt");

            case Filter.ECompare.GreaterThanEqual:
                return("ge");

            case Filter.ECompare.LessThan:
                return("lt");

            case Filter.ECompare.LessThanEqual:
                return("le");

            case Filter.ECompare.NotEqual:
                return("ne");

            default:
                throw new Exception("ConvertOperator failed");
            }
        }
        private string GenerateFilterCondition(string column, Filter.ECompare filterOperator, ETypeCode compareDataType, object value)
        {
            string filterString;

            switch (compareDataType)
            {
            case ETypeCode.String:
            case ETypeCode.Text:
            case ETypeCode.Json:
            case ETypeCode.Xml:
            case ETypeCode.Guid:
            case ETypeCode.Unknown:
                filterString = TableQuery.GenerateFilterCondition(column, ConvertOperator(filterOperator), (string)value);
                break;

            case ETypeCode.Boolean:
                filterString = TableQuery.GenerateFilterConditionForBool(column, ConvertOperator(filterOperator), (bool)value);
                break;

            case ETypeCode.Int16:
            case ETypeCode.Int32:
            case ETypeCode.UInt16:
            case ETypeCode.UInt32:
                filterString = TableQuery.GenerateFilterConditionForInt(column, ConvertOperator(filterOperator), (int)value);
                break;

            case ETypeCode.UInt64:
            case ETypeCode.Int64:
                filterString = TableQuery.GenerateFilterConditionForLong(column, ConvertOperator(filterOperator), (long)value);
                break;

            case ETypeCode.DateTime:
                filterString = TableQuery.GenerateFilterConditionForDate(column, ConvertOperator(filterOperator), (DateTime)value);
                break;

            case ETypeCode.Time:
                filterString = TableQuery.GenerateFilterCondition(column, ConvertOperator(filterOperator), value.ToString());
                break;

            case ETypeCode.Double:
            case ETypeCode.Decimal:
                filterString = TableQuery.GenerateFilterConditionForDouble(column, ConvertOperator(filterOperator), (double)value);
                break;

            default:
                throw new Exception("The data type: " + compareDataType.ToString() + " is not supported by Azure table storage.");
            }

            return(filterString);
        }
Exemplo n.º 6
0
        public async Task FilterPairs(string columnName, DataType.ETypeCode dataType, object filterValue, Filter.ECompare filterCompare, int expctedRows)
        {
            var table = Helpers.CreateSortedTestData();

            var joinPairs = new List <FilterPair>
            {
                new FilterPair(new TableColumn(columnName, dataType), filterValue, filterCompare)
            };

            // set a junk filter that filters
            var transformFilter = new TransformFilter(table, null, joinPairs);
            await transformFilter.Open(0, null, CancellationToken.None);

            Assert.Equal(5, transformFilter.FieldCount);

            var count = 0;

            while (await transformFilter.ReadAsync())
            {
                count = count + 1;
            }
            Assert.Equal(expctedRows, count);
        }