Esempio n. 1
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);
                }
            }
        }
Esempio n. 2
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);
            }
        }
        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));
        }
Esempio n. 4
0
        private void QueryHistory()
        {
            const string id = "Query History ID";

#pragma warning disable CA1308 // Normalize strings to uppercase
            var query = QueryText.ToLower(CultureInfo.InvariantCulture).Trim();
#pragma warning restore CA1308 // Normalize strings to uppercase
            History.Clear();

            var results = new List <Result>();
            foreach (var h in _history.Items)
            {
                var title  = _translator.GetTranslation("executeQuery");
                var time   = _translator.GetTranslation("lastExecuteTime");
                var result = new Result
                {
                    Title       = string.Format(CultureInfo.InvariantCulture, title, h.Query),
                    SubTitle    = string.Format(CultureInfo.InvariantCulture, time, h.ExecutedDateTime),
                    IcoPath     = "Images\\history.png",
                    OriginQuery = new Query {
                        RawQuery = h.Query
                    },
                    Action = _ =>
                    {
                        SelectedResults = Results;
                        ChangeQueryText(h.Query);
                        return(false);
                    }
                };
                results.Add(result);
            }

            if (!string.IsNullOrEmpty(query))
            {
                var filtered = results.Where
                               (
                    r => StringMatcher.FuzzySearch(query, r.Title).IsSearchPrecisionScoreMet() ||
                    StringMatcher.FuzzySearch(query, r.SubTitle).IsSearchPrecisionScoreMet()
                               ).ToList();
                History.AddResults(filtered, id);
            }
            else
            {
                History.AddResults(results, id);
            }
        }
Esempio n. 5
0
        private void QueryHistory()
        {
            const string id    = "Query History ID";
            var          query = QueryText.ToLower().Trim();

            History.Clear();

            var results = new List <Result>();

            foreach (var h in _history.Items)
            {
                var title  = _translator.GetTranslation("executeQuery");
                var time   = _translator.GetTranslation("lastExecuteTime");
                var result = new Result
                {
                    Title       = string.Format(title, h.Query),
                    SubTitle    = string.Format(time, h.ExecutedDateTime),
                    IcoPath     = "Images\\history.png",
                    OriginQuery = new Query {
                        RawQuery = h.Query
                    },
                    Action = _ =>
                    {
                        SelectedResults = Results;
                        ChangeQueryText(h.Query);
                        return(false);
                    }
                };
                results.Add(result);
            }

            if (!string.IsNullOrEmpty(query))
            {
                var filtered = results.Where
                               (
                    r => StringMatcher.IsMatch(r.Title, query) ||
                    StringMatcher.IsMatch(r.SubTitle, query)
                               ).ToList();
                History.AddResults(filtered, id);
            }
            else
            {
                History.AddResults(results, id);
            }
        }
Esempio n. 6
0
        private void QueryHistory()
        {
            // Using CurrentCulture since query is received from user and used in downstream comparisons using CurrentCulture
#pragma warning disable CA1308 // Normalize strings to uppercase
            var query = QueryText.ToLower(CultureInfo.CurrentCulture).Trim();
#pragma warning restore CA1308 // Normalize strings to uppercase
            History.Clear();

            var results = new List <Result>();
            foreach (var h in _history.Items)
            {
                var title  = Properties.Resources.executeQuery;
                var time   = Properties.Resources.lastExecuteTime;
                var result = new Result
                {
                    Title       = string.Format(CultureInfo.InvariantCulture, title, h.Query),
                    SubTitle    = string.Format(CultureInfo.InvariantCulture, time, h.ExecutedDateTime),
                    IcoPath     = "Images\\history.png",
                    OriginQuery = new Query {
                        RawQuery = h.Query
                    },
                    Action = _ =>
                    {
                        SelectedResults = Results;
                        ChangeQueryText(h.Query);
                        return(false);
                    },
                };
                results.Add(result);
            }

            if (!string.IsNullOrEmpty(query))
            {
                var filtered = results.Where(
                    r => StringMatcher.FuzzySearch(query, r.Title).IsSearchPrecisionScoreMet() ||
                    StringMatcher.FuzzySearch(query, r.SubTitle).IsSearchPrecisionScoreMet()).ToList();

                History.AddResults(filtered, _updateToken);
            }
            else
            {
                History.AddResults(results, _updateToken);
            }
        }
Esempio n. 7
0
        private void QueryContextMenu()
        {
            var contextMenuId = "Context Menu Id";
            var query         = QueryText.ToLower();

            if (!string.IsNullOrEmpty(query))
            {
                List <Result> filterResults = new List <Result>();
                foreach (var contextMenu in ContextMenu.Results)
                {
                    if (StringMatcher.IsMatch(contextMenu.Title, query) ||
                        StringMatcher.IsMatch(contextMenu.SubTitle, query))
                    {
                        filterResults.Add(contextMenu.RawResult);
                    }
                }
                ContextMenu.Clear();
                ContextMenu.AddResults(filterResults, contextMenuId);
            }
        }