Example #1
0
        public async Task <object> GetMatchingItemsAsync(SfAutoComplete source, AutoCompleteFilterInfo filterInfo)
        {
            IEnumerable itemssource   = source.ItemsSource as IEnumerable;
            var         filteredItems = (from CityInfo item in itemssource
                                         where item.CountryName.StartsWith(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase) ||
                                         item.CityName.StartsWith(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase)
                                         select item);

            return(await Task.FromResult(filteredItems));
        }
Example #2
0
        public async Task <object> GetMatchingItemsAsync(SfAutoComplete source, AutoCompleteFilterInfo filterInfo)
        {
            List <ContinentInfo> list        = new List <ContinentInfo>();
            IEnumerable          itemsSource = source.ItemsSource as IEnumerable;

            list.AddRange(from item in itemsSource.Cast <ContinentInfo>()
                          let filteritem = this.GetStringFromMemberPath(item, nameof(item.Country))
                                           where filteritem.Contains(filterInfo.Text, StringComparison.CurrentCultureIgnoreCase)
                                           select item);

            var collectionViewSource = new CollectionViewSource();

            collectionViewSource.Source          = list.GroupBy(item => item.Continent);
            collectionViewSource.IsSourceGrouped = true;

            return(await Task.FromResult(collectionViewSource.View));
        }
        public async Task <object> GetMatchingItemsAsync(SfAutoComplete source, AutoCompleteFilterInfo filterInfo)
        {
            if (this.cancellationTokenSource != null)
            {
                this.cancellationTokenSource.Cancel();
                this.cancellationTokenSource.Dispose();
            }

            this.cancellationTokenSource = new CancellationTokenSource();
            CancellationToken token = this.cancellationTokenSource.Token;

            return(await Task.Run(() =>
            {
                List <string> list = new List <string>();
                for (int i = 1; i < 100; i++)
                {
                    list.Add(filterInfo.Text + i);
                }

                return list;
            }, token));
        }
Example #4
0
 public Task <object> GetMatchingItemsAsync(SfAutoComplete source, AutoCompleteFilterInfo filterInfo)
 {
     return(GetGoogleSuggestions(filterInfo.Text));
 }