Example #1
0
        private void QueryContextMenu()
        {
            var contextMenuId = "Context Menu Id";

            ContextMenu.Clear();
            var query = QueryText.ToLower();

            if (string.IsNullOrEmpty(query))
            {
                ContextMenu.AddResults(_currentContextMenus, contextMenuId);
            }
            else
            {
                List <Result> filterResults = new List <Result>();
                foreach (Result contextMenu in _currentContextMenus)
                {
                    if (StringMatcher.IsMatch(contextMenu.Title, query) ||
                        StringMatcher.IsMatch(contextMenu.SubTitle, query))
                    {
                        filterResults.Add(contextMenu);
                    }
                }
                ContextMenu.AddResults(filterResults, contextMenuId);
            }
        }
Example #2
0
        private void QueryContextMenu()
        {
            const string id    = "Context Menu ID";
            var          query = QueryText.ToLower().Trim();

            ContextMenu.Clear();

            var selected = Results.SelectedItem?.Result;

            if (selected != null) // SelectedItem returns null if selection is empty.
            {
                var results = PluginManager.GetContextMenusForPlugin(selected);
                results.Add(ContextMenuTopMost(selected));
                results.Add(ContextMenuPluginInfo(selected.PluginID));

                if (!string.IsNullOrEmpty(query))
                {
                    var filtered = results.Where
                                   (
                        r => StringMatcher.IsMatch(r.Title, query) ||
                        StringMatcher.IsMatch(r.SubTitle, query)
                                   ).ToList();
                    ContextMenu.AddResults(filtered, id);
                }
                else
                {
                    ContextMenu.AddResults(results, id);
                }
            }
        }
Example #3
0
        private void HandleQueryTextUpdated()
        {
            if (_ignoreTextChange)
            {
                _ignoreTextChange = false;
                return;
            }

            IsProgressBarTooltipVisible = false;
            if (ContextMenuVisibility.IsVisible())
            {
                QueryContextMenu();
            }
            else
            {
                string query = QueryText.Trim();
                if (!string.IsNullOrEmpty(query))
                {
                    Query(query);
                    //reset query history index after user start new query
                    ResetQueryHistoryIndex();
                }
                else
                {
                    Results.Clear();
                }
            }
        }
Example #4
0
        public override string ToString()
        {
            QueryText text = this.values[0];

            return("<path start='" + text.Begin + "' end='" + text.End + "' path='"
                   + GetPathString() + "'/>");
        }
Example #5
0
        private void HandleQueryTextUpdated()
        {
            ProgressBarVisibility = Visibility.Hidden;
            _updateSource?.Cancel();
            _updateSource = new CancellationTokenSource();
            _updateToken  = _updateSource.Token;

            if (ContextMenuVisibility.IsVisible())
            {
                QueryContextMenu();
            }
            else
            {
                string query = QueryText.Trim();
                if (!string.IsNullOrEmpty(query))
                {
                    Query(query);
                    //reset query history index after user start new query
                    ResetQueryHistoryIndex();
                }
                else
                {
                    Results.Clear();
                    ResultListBoxVisibility = Visibility.Collapsed;
                }
            }
        }
        private void VisitOrElse(BinaryExpression orElse)
        {
            VisitExpression(orElse.Left);

            QueryText.Append("OR ");

            VisitExpression(orElse.Right);
        }
Example #7
0
 private void AppendBeginSql()
 {
     QueryText.AppendLine($@"INSERT INTO {TN.QuotatedFullName} ({string.Join(",", SourceColumnNames.Select(col => QB + col + QE))})");
     if (IsAccessDatabase)
         QueryText.AppendLine("  SELECT * FROM (");
     else
         QueryText.AppendLine("VALUES");
 }
Example #8
0
 void QueryText_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Return)
     {
         QueryText.GetBindingExpression(TextBox.TextProperty).UpdateSource();
         Query_Click(null, null);
     }
 }
        private void VisitAndAlso(BinaryExpression andAlso)
        {
            VisitExpression(andAlso.Left);

            QueryText.Append("AND ");

            VisitExpression(andAlso.Right);
        }
Example #10
0
            public virtual /*QueryText*/ object Clone()
            {
                QueryText clone = (QueryText)this.MemberwiseClone();

                clone.value = this.value;
                clone.begin = this.begin;
                clone.end   = this.end;
                return(clone);
            }
Example #11
0
 internal string CreateBulkInsertStatement(ITableData data, string tableName)
 {
     InitObjects();
     GetSourceAndDestColumNames(data);
     AppendBeginSql(tableName);
     ReadDataAndCreateQuery(data);
     AppendEndSql();
     return(QueryText.ToString());
 }
Example #12
0
        /// <summary>
        ///   Returns a <see cref = "System.String" /> that represents this instance.
        /// </summary>
        /// <returns>
        ///   A <see cref = "System.String" /> that represents this instance.
        /// </returns>
        public override string ToString()
        {
            var trim = QueryText.ToString().Trim();

            if (isSpatialQuery)
            {
                return(string.Format(CultureInfo.InvariantCulture, "{0} Lat: {1} Lng: {2} Radius: {3}", trim, lat, lng, radius));
            }
            return(trim);
        }
        private bool FilterPredicate(object value)
        {
            var toCompare = QueryText != null?QueryText.ToLower() : string.Empty;

            var customer = (CustomerDTO)value;

            return(customer.FirstName.SafeStartsWith(toCompare) ||
                   customer.LastName.SafeStartsWith(toCompare) ||
                   customer.Email.SafeStartsWith(toCompare));
        }
Example #14
0
        /// <summary>
        ///   Returns a <see cref = "System.String" /> that represents this instance.
        /// </summary>
        /// <returns>
        ///   A <see cref = "System.String" /> that represents this instance.
        /// </returns>
        public override string ToString()
        {
            var trim = QueryText.ToString().Trim();

            if (isSpatialQuery)
            {
                return(string.Format(CultureInfo.InvariantCulture, "{0} SpatialField: {1} QueryShape: {2} Relation: {3}", trim, spatialFieldName, queryShape, spatialRelation));
            }
            return(trim);
        }
Example #15
0
 private void AppendEndSql()
 {
     if (IsAccessDatabase)
     {
         QueryText.AppendLine(") a;");
     }
     else if (ConnectionType == ConnectionManagerType.Oracle)
     {
         QueryText.AppendLine(")");
     }
 }
Example #16
0
        private void VisitGreaterThan(BinaryExpression expression)
        {
            object value = GetValueFromExpression(expression.Right);

            QueryText.Append(
                GetFieldNameForRangeQuery(expression.Left, value)
                ).Append(":[");
            QueryText.Append(TransformToRangeValue(value));

            QueryText.Append(" TO NULL] ");
        }
Example #17
0
        private void VisitLessThanOrEqual(BinaryExpression expression)
        {
            object value = GetValueFromExpression(expression.Right);

            QueryText.Append(
                GetFieldNameForRangeQuery(expression.Left, value)
                ).Append(":{NULL TO ");
            QueryText.Append(TransformToRangeValue(GetValueFromExpression(expression.Right)));

            QueryText.Append("} ");
        }
Example #18
0
 private void AppendBeginSql(string tableName)
 {
     QueryText.AppendLine($@"INSERT INTO {tableName} ({string.Join(",", SourceColumnNames)})");
     if (IsAccessDatabase)
     {
         QueryText.AppendLine("  SELECT * FROM (");
     }
     else
     {
         QueryText.AppendLine("VALUES");
     }
 }
Example #19
0
        public QueryToken AsText()
        {
            if (Kind == QuerySyntaxKind.TextToken ||
                Kind == QuerySyntaxKind.QuotedTextToken)
            {
                return(this);
            }

            var value = QueryText.Substring(Span.Start, Span.Length);

            return(new QueryToken(QuerySyntaxKind.TextToken, QueryText, Span, value));
        }
Example #20
0
        public void VisitLetClause(LetClause letClause, QueryModel queryModel, Type lhsType)
        {
            QueryText.AppendFormat(" let {0} = ", LinqUtility.ResolvePropertyName(letClause.ItemName));
            GetAqlExpression(letClause.LetExpression, queryModel);

            var subQuery = letClause.SubqueryExpression as SubQueryExpression;

            if (subQuery != null)
            {
                GetAqlExpression(subQuery, queryModel, handleLet: true);
                this.DontReturn = true;
            }
        }
Example #21
0
        public override void VisitOrderByClause(OrderByClause orderByClause, QueryModel queryModel, int index)
        {
            QueryText.Append(" sort ");
            for (int i = 0; i < orderByClause.Orderings.Count; i++)
            {
                GetAqlExpression(orderByClause.Orderings[i].Expression, queryModel);
                QueryText.AppendFormat(" {0} {1} ",
                                       orderByClause.Orderings[i].OrderingDirection == OrderingDirection.Asc ? "asc" : "desc",
                                       i != orderByClause.Orderings.Count - 1 ? " , " : string.Empty);
            }

            base.VisitOrderByClause(orderByClause, queryModel, index);
        }
Example #22
0
        public void VisitUpsertClause(UpsertClause upsertClause, QueryModel queryModel)
        {
            QueryText.Append(" upsert ");
            GetAqlExpression(upsertClause.SearchSelector, queryModel);

            QueryText.Append(" insert ");
            GetAqlExpression(upsertClause.InsertSelector, queryModel);

            QueryText.Append(" update ");
            GetAqlExpression(upsertClause.UpdateSelector, queryModel);

            QueryText.AppendFormat(" in {0} ", LinqUtility.ResolveCollectionName(Db, upsertClause.CollectionType));
        }
Example #23
0
 private void AppendValueListSql(List<string> values, bool lastItem)
 {
     if (IsAccessDatabase)
     {
         QueryText.AppendLine("SELECT " + string.Join(",", values) + $"  FROM {AccessDummyTableName} ");
         if (lastItem) QueryText.AppendLine(" UNION ALL ");
     }
     else
     {
         QueryText.Append("(" + string.Join(",", values) + $")");
         if (lastItem) QueryText.AppendLine(",");
     }
 }
Example #24
0
        public MainView()
        {
            InitializeComponent();

            var settings = Settings.Default;

            Width  = settings.Size.Width;
            Height = settings.Size.Height;
            Left   = settings.Position.X;
            Top    = settings.Position.Y;

            QueryText.Focus();
        }
Example #25
0
        public void VisitRemoveClause(RemoveClause removeClause, QueryModel queryModel)
        {
            if (removeClause.KeySelector != null)
            {
                QueryText.Append(" remove ");

                GetAqlExpression(removeClause.KeySelector, queryModel);
            }
            else
            {
                QueryText.AppendFormat(" remove {0} ", LinqUtility.ResolvePropertyName(removeClause.ItemName));
            }

            QueryText.AppendFormat(" in {0} ", LinqUtility.ResolveCollectionName(Db, removeClause.CollectionType));
        }
Example #26
0
        public void VisitSkipTakeClause(SkipTakeClause skipTakeClause, QueryModel queryModel, int index)
        {
            if (skipTakeClause.TakeCount == null)
            {
                throw new InvalidOperationException("in limit[skip & take functions] count[take function] should be specified");
            }

            QueryText.AppendFormat("  limit ");
            if (skipTakeClause != null && skipTakeClause.SkipCount != null)
            {
                GetAqlExpression(skipTakeClause.SkipCount, queryModel);
                QueryText.AppendFormat("  , ");
            }
            GetAqlExpression(skipTakeClause.TakeCount, queryModel);
        }
Example #27
0
        public void VisitInsertClause(InsertClause insertClause, QueryModel queryModel)
        {
            if (insertClause.WithSelector != null)
            {
                QueryText.Append(" insert ");

                GetAqlExpression(insertClause.WithSelector, queryModel);
            }
            else
            {
                QueryText.AppendFormat(" insert {0} ", LinqUtility.ResolvePropertyName(insertClause.ItemName));
            }

            QueryText.AppendFormat(" in {0} ", LinqUtility.ResolveCollectionName(Db, insertClause.CollectionType));
        }
Example #28
0
        public override void VisitQueryModel(QueryModel queryModel)
        {
            if (DefaultAssociatedIdentifier != null)
            {
                queryModel.MainFromClause.ItemName = DefaultAssociatedIdentifier;
            }

            this.QueryModel = queryModel;

            var resultOperator    = queryModel.ResultOperators.Count != 0 ? queryModel.ResultOperators[0] : null;
            var aggregateFunction = resultOperator != null && aggregateResultOperatorFunctions.ContainsKey(resultOperator.GetType())
                ? aggregateResultOperatorFunctions[resultOperator.GetType()] : null;

            if (resultOperator is FirstResultOperator || resultOperator is SingleResultOperator)
            {
                queryModel.BodyClauses.Add(new SkipTakeClause(Expression.Constant(0), Expression.Constant(1)));
            }

            if (aggregateFunction != null)
            {
                QueryText.AppendFormat(" return {0} (( ", aggregateFunction);
            }

            if (!IgnoreFromClause && queryModel.MainFromClause.ItemType != typeof(AQL))
            {
                queryModel.MainFromClause.Accept(this, queryModel);
            }

            VisitBodyClauses(queryModel.BodyClauses, queryModel);

            if (CrudState.ModelVisitorHaveCrudOperation)
            {
                QueryText.AppendFormat(" in {0} ", CrudState.Collection);
                if (CrudState.ReturnResult)
                {
                    QueryText.AppendFormat(" let crudResult = {0} return crudResult ", CrudState.ReturnResultKind);
                }
            }
            else if (!DontReturn)
            {
                queryModel.SelectClause.Accept(this, queryModel);
            }

            if (aggregateFunction != null)
            {
                QueryText.Append(" )) ");
            }
        }
Example #29
0
        public void VisitUpsertAndReturnClause(UpsertAndReturnClause upsertAndReturnClause, QueryModel queryModel)
        {
            QueryText.Append(" upsert ");
            GetAqlExpression(upsertAndReturnClause.SearchSelector, queryModel);

            QueryText.Append(" insert ");
            GetAqlExpression(upsertAndReturnClause.InsertSelector, queryModel);

            QueryText.Append(" update ");
            GetAqlExpression(upsertAndReturnClause.UpdateSelector, queryModel);

            CrudState.ModelVisitorHaveCrudOperation = true;
            CrudState.Collection       = LinqUtility.ResolveCollectionName(Db, upsertAndReturnClause.CollectionType);
            CrudState.ReturnResult     = upsertAndReturnClause.ReturnResult;
            CrudState.ReturnResultKind = "NEW";
        }
Example #30
0
 private void AppendBeginSql()
 {
     QueryText.AppendLine($@"INSERT INTO {TN.QuotatedFullName} ({string.Join(",", SourceColumnNames.Select(col => QB + col + QE))})");
     if (IsAccessDatabase)
     {
         QueryText.AppendLine("  SELECT * FROM (");
     }
     else if (ConnectionType == ConnectionManagerType.Oracle)
     {
         QueryText.AppendLine($" SELECT {string.Join(",", SourceColumnNames.Select(col => QB + col + QE))} FROM (");
     }
     else
     {
         QueryText.AppendLine("VALUES");
     }
 }