コード例 #1
0
ファイル: Extensions.cs プロジェクト: kadosh/tubular
        private static string GetSqlOperator(CompareOperators op)
        {
            switch (op)
            {
            case CompareOperators.Equals:
                return("==");

            case CompareOperators.NotEquals:
                return("!=");

            case CompareOperators.Gte:
                return(">=");

            case CompareOperators.Gt:
                return(">");

            case CompareOperators.Lte:
                return("<=");

            case CompareOperators.Lt:
                return("<");

            default:
                return(null);
            }
        }
コード例 #2
0
        public void ApplyFilter(CompareOperators filterOp, params string[] args)
        {
            if (filterOp == CompareOperators.Auto || filterOp == CompareOperators.None || args == null || args.Length <= 0)
            {
                FilterArgument = null;
                FilterText     = null;
                FilterOperator = CompareOperators.None;
                Parent?.QueueDataUpdate();
                return;
            }

            FilterOperator = filterOp;

            if (FilterOperator == CompareOperators.Multiple)
            {
                FilterText     = null;
                FilterArgument = args;
            }
            else
            {
                FilterText = args[0];
                var arguments = new List <string>(args.Length - 1);
                for (var i = 1; i < args.Length; i++)
                {
                    arguments.Add(args[i]);
                }

                FilterArgument = arguments.ToArray();
            }

            Parent?.QueueDataUpdate();
        }
コード例 #3
0
ファイル: Condition.cs プロジェクト: RapidScada/scada-v6
 /// <summary>
 /// Преобразовать оператор сравнения в строку.
 /// </summary>
 private static string OperToString(CompareOperators oper)
 {
     return(oper switch
     {
         CompareOperators.Equal => " = ",
         CompareOperators.NotEqual => " <> ",
         CompareOperators.LessThan => " < ",
         CompareOperators.LessThanEqual => " <= ",
         CompareOperators.GreaterThan => " > ",
         CompareOperators.GreaterThanEqual => " >= ",
         _ => ""
     });
コード例 #4
0
        /// <summary>
        /// Consturctor using the condition as string and setting properties by splitting the string
        /// </summary>
        /// <param name="conditionString">The complete condition as string</param>
        private SimpleCondition(string conditionString) : base()
        {
            // <Resource>|<State> <EqualityOperator> <StateValue>
            Value = conditionString;
            var a      = Globals.Conditions;
            var splits = conditionString.Split('|');

            Resource = splits[0].Trim();
            var equop = CompareOperators.Where(op => splits[1].Contains(op)).FirstOrDefault();

            CompareOperator = equop;
            State           = splits[1].Split(CompareOperator, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault().Trim();
            StateValue      = splits[1].Split(CompareOperator, StringSplitOptions.RemoveEmptyEntries).LastOrDefault().Trim();
        }
コード例 #5
0
        public void FilterIdTests(IQueryable <Thing> filterCount, CompareOperators compareOperator)
        {
            var data = filterCount.Take(PageSize).ToList();

            var request = new GridDataRequest
            {
                Take    = PageSize,
                Skip    = 0,
                Columns = Thing.GetColumnsWithIdFilter("20", compareOperator)
            };

            var response = request.CreateGridDataResponse(DataSource);

            Assert.AreEqual(data.Count, response.Payload.Count, $"Test {compareOperator}");

            Assert.AreEqual(data[0].Id, response.Payload[0][0], "Same Id");

            Assert.AreEqual(filterCount.Count(), response.FilteredRecordCount, "Total filtered rows matching");
        }
コード例 #6
0
 public static GridColumn[] GetColumnsWithIdFilter(string filter, CompareOperators oper) =>
 new[]
 {
     new GridColumn
     {
         Name           = "Id",
         FilterText     = filter,
         FilterOperator = oper,
         DataType       = DataType.Numeric
     },
     new GridColumn {
         Name = "Name"
     },
     new GridColumn {
         Name = "Date"
     },
     new GridColumn {
         Name = "IsShipped"
     }
 };
コード例 #7
0
 public static GridColumn[] GetColumnsWithBooleanFilter(string filter, CompareOperators oper) =>
 new[]
 {
     new GridColumn {
         Name = "Id"
     },
     new GridColumn {
         Name = "Name"
     },
     new GridColumn {
         Name = "Date"
     },
     new GridColumn
     {
         Name           = "IsShipped",
         Searchable     = false,
         FilterText     = filter,
         FilterOperator = oper,
         DataType       = DataType.Boolean,
     }
 };
コード例 #8
0
        private ASTNode Comparision()
        {
            if (_currentToken.Type == TokenType.ConstBool)
            {
                var token = _currentToken;
                Eat(TokenType.ConstBool);

                return(new ASTBool(token));
            }

            var node = ArithmeticExpression();

            while (CompareOperators.Contains(_currentToken.Type))
            {
                var token = _currentToken;
                Eat(token.Type);

                node = new ASTBinaryOperator(node, token, ArithmeticExpression());
            }

            return(node);
        }
コード例 #9
0
        /// <summary>
        /// Преобразовать оператор сравнения в строку
        /// </summary>
        private string OperToString(CompareOperators oper)
        {
            switch (oper)
            {
            case CompareOperators.Equal:
                return(" = ");

            case CompareOperators.NotEqual:
                return(" <> ");

            case CompareOperators.LessThan:
                return(" < ");

            case CompareOperators.LessThanEqual:
                return(" <= ");

            case CompareOperators.GreaterThan:
                return(" > ");

            default:     // CompareOperators.GreaterThanEqual
                return(" >= ");
            }
        }
コード例 #10
0
 public static GridColumn[] GetColumnsWithMultipleFilter(string[] arguments, CompareOperators oper) =>
 new[]
 {
     new GridColumn {
         Name = "Id"
     },
     new GridColumn {
         Name = "Name"
     },
     new GridColumn {
         Name = "Date"
     },
     new GridColumn {
         Name = "IsShipped"
     },
     new GridColumn
     {
         Name           = "Color",
         FilterArgument = arguments,
         FilterOperator = oper,
         DataType       = DataType.String
     }
 };
コード例 #11
0
 private static string?GetSqlOperator(CompareOperators op) =>
 op switch
 {
コード例 #12
0
ファイル: Extensions.cs プロジェクト: Vic30/tubular
 // TODO: This code is for use with Dynamic LINQ, but It needs EF
 //private static bool isDynamicLinqReady = false;
 //private static void FixDynamicLinq()
 //{
 //    var type = typeof(DynamicQueryable).Assembly.GetType("System.Linq.Dynamic.ExpressionParser");
 //    FieldInfo field = type.GetField("predefinedTypes", BindingFlags.Static | BindingFlags.NonPublic);
 //    Type[] predefinedTypes = (Type[])field.GetValue(null);
 //    Array.Resize(ref predefinedTypes, predefinedTypes.Length + 1);
 //    predefinedTypes[predefinedTypes.Length - 1] = typeof(EntityFunctions); // Your type
 //    field.SetValue(null, predefinedTypes);
 //}
 private static string GetSqlOperator(CompareOperators op)
 {
     switch (op)
     {
         case CompareOperators.Equals:
             return "==";
         case CompareOperators.NotEquals:
             return "!=";
         case CompareOperators.Gte:
             return ">=";
         case CompareOperators.Gt:
             return ">";
         case CompareOperators.Lte:
             return "<=";
         case CompareOperators.Lt:
             return "<";
         default:
             return null;
     }
 }