Ejemplo n.º 1
0
        private string GetContainsQuery(PredicateModel predicate, string columnName)
        {
            var value            = RemoveApostrophes(predicate.Value);
            var operatorAndValue = $"{GetSqlOperator(predicate.Operator)}'%{value}%'";

            return($"{columnName} {operatorAndValue}");
        }
Ejemplo n.º 2
0
        private void LoadSelectionOfParentPredicates()
        {
            InteractionManager interactionManager = new InteractionManager();
            var rootPredicates = interactionManager.GetAll <Predicate>().Where(p => p.Parent == null);
            List <PredicateModel> parentSelectionList = new List <PredicateModel>();

            rootPredicates.ToList().ForEach(p => parentSelectionList.Add(PredicateModel.Convert(p)));
            ViewData["Parents"] = parentSelectionList;
        }
Ejemplo n.º 3
0
 public void Insert(PredicateModel node)
 {
     if (_root == null)
     {
         _root = new QueryNode(node);
         return;
     }
     //otherwise recurse down
     InsertRec(_root, new QueryNode(node));
 }
Ejemplo n.º 4
0
        // GET: Predicate
        public ActionResult Index()
        {
            SubjectManager        subjectManager = new SubjectManager();
            List <PredicateModel> Model          = new List <PredicateModel>();

            var predicates = subjectManager.GetAll <Predicate>();

            predicates.ToList().ForEach(p => Model.Add(PredicateModel.Convert(p)));

            return(View(Model));
        }
Ejemplo n.º 5
0
        private string GetEqualQuery(PredicateModel predicate)
        {
            var stringBuilder = new StringBuilder();

            stringBuilder.Append("{ \"match\" : {");
            stringBuilder.Append($"\"{GetField(predicate.Field)}\" : {{");
            stringBuilder.Append($"\"query\" : \"{predicate.Value}\",");
            stringBuilder.Append($"\"operator\" : \"and\"");
            stringBuilder.Append("}}}");
            return(stringBuilder.ToString());
        }
Ejemplo n.º 6
0
        private string GetNotEqualQuery(PredicateModel predicate)
        {
            var stringBuilder = new StringBuilder();

            stringBuilder.Append($"{{\"bool\": {{");
            stringBuilder.Append("\"must_not\" : [");
            stringBuilder.Append("{ \"match\" : {");
            stringBuilder.Append($" \"{GetField(predicate.Field)}\" : {{");
            stringBuilder.Append($"\"query\" : \"{predicate.Value}\",");
            stringBuilder.Append($"\"operator\" : \"and\"");
            stringBuilder.Append("}}}]}}");
            var query = stringBuilder.ToString();

            return(query);
        }
Ejemplo n.º 7
0
        private string GetPredicateQuery(PredicateModel predicate, string entityName)
        {
            var columnName = GetColumnName(RemoveApostrophes(predicate.Field), entityName);

            switch (predicate.Operator)
            {
            case FilterQueryOperator.startsWith:
                return(GetStartsWithQuery(predicate, columnName));

            case FilterQueryOperator.contains:
                return(GetContainsQuery(predicate, columnName));

            default:
                return($"{columnName} {GetSqlOperator(predicate.Operator)} {predicate.Value}");
            }
        }
Ejemplo n.º 8
0
        private void PredicateCondition(QueryTree queryTree)
        {
            var predicate = new PredicateModel();

            if (_lookaheadFirst.Value == null)
            {
                throw new ApplicationException("Illegal query detected, enclose strings with a beginning ' and ending '");
            }
            predicate.Field = _lookaheadFirst.Value;
            DiscardToken();
            predicate.Operator = GetOperator(_lookaheadFirst);
            DiscardToken();
            predicate.Value = _lookaheadFirst.Value;
            DiscardToken();
            queryTree.Insert(predicate);
        }
Ejemplo n.º 9
0
        private string GetPredicateQuery(PredicateModel predicate)
        {
            if (predicate.Operator == FilterQueryOperator.equal)
            {
                return(GetEqualQuery(predicate));
            }
            if (predicate.Operator == FilterQueryOperator.notEqual)
            {
                return(GetNotEqualQuery(predicate));
            }
            var stringBuilder = new StringBuilder();

            stringBuilder.Append("{");
            stringBuilder.Append($"\"{GetESOperator(predicate.Operator)}\" : {{");
            stringBuilder.Append($"\"{GetField(predicate.Field)}\" : \"{GetString(predicate.Value)}\" }}");
            stringBuilder.Append("}");
            var predicateQuery = stringBuilder.ToString();

            return(predicateQuery);
        }
Ejemplo n.º 10
0
 public QueryNode(PredicateModel predicate)
 {
     Predicate = predicate;
 }