Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        private async Task ProcessAutoSuggestValuesAsync()
        {
            string currentAdressBarValue = this.AdressBarDisplayText;

            this.AdressBarSuggestValues.Clear();

            Dictionary <string, List <HistoryItem> > history = await this._historyManager.GetHistoryAsync();

            var foundedItems = history.Select(
                x => x.Value.Where(
                    y => (!string.IsNullOrEmpty(y.Title) && !string.IsNullOrWhiteSpace(y.Title) &&
                          (y.Title.ToLowerInvariant().Contains(currentAdressBarValue.ToLowerInvariant()) ||
                           y.Uri.ToString().ToLowerInvariant().Contains(currentAdressBarValue.ToLowerInvariant())))
                    )
                );

            List <HistoryItem> suggestEntries = new List <HistoryItem>();

            foreach (var foundItemList in foundedItems)
            {
                List <HistoryItem> items = foundItemList.ToList();

                foreach (HistoryItem historyItem in items)
                {
                    suggestEntries.Add(historyItem);
                }
            }

            suggestEntries = suggestEntries.GroupBy(x => x.Uri).Select(g => g.First()).ToList();

            foreach (HistoryItem suggestEntry in suggestEntries)
            {
                AutoSuggestItem autoSuggestItem = new AutoSuggestItem
                {
                    WebsiteUri   = suggestEntry.Uri.ToString(),
                    WebsiteTitle = suggestEntry.Title
                };

                if (!string.IsNullOrEmpty(suggestEntry.Icon.Trim()) && !string.IsNullOrWhiteSpace(suggestEntry.Icon.Trim()))
                {
                    autoSuggestItem.WebsiteIcon = new Uri(suggestEntry.Icon);
                }

                this.AdressBarSuggestValues.Add(autoSuggestItem);
            }
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        private void ProcessAdressBarSuggestionChosen(AutoSuggestBoxSuggestionChosenEventArgs eventArgs)
        {
            AutoSuggestItem chosenSuggestValue = (eventArgs.SelectedItem as AutoSuggestItem);

            this.ProcessAdressBarValue(chosenSuggestValue.WebsiteUri);
        }