Exemple #1
0
        public static SearchResult Search(SearchFilters filter, IEnumerable <Item> dataSource)
        {
            IEnumerable <Item> result;

            result = dataSource.Where(x => x.Level >= filter.LevelMin && x.Level <= filter.LevelMax);

            if (!String.IsNullOrEmpty(filter.QueryString))
            {
                result =
                    TradingPostApiOfficial.ItemTradingPostDB.Values.Where(
                        x => x.Name.ToUpperInvariant().Contains(filter.QueryString.ToUpperInvariant()));
            }

            if (!String.IsNullOrEmpty(filter.Rarity))
            {
                result = result.Where(x => x.Rarity == filter.Rarity);
            }

            if (!String.IsNullOrEmpty(filter.TypeId))
            {
                result = result.Where(x => x.Type == filter.TypeId);
            }

            if (!String.IsNullOrEmpty(filter.SubTypeId))
            {
                result = result.Where(x => x.Details.Type == filter.SubTypeId);
            }

            var list     = result.ToList();
            int countAll = list.Count;

            list = list.Skip(filter.Offset).Take(filter.ItemsPerPage).ToList();


            var searchResult = SearchResult.ParseSearchResult(list);

            filter.Total = countAll;

            searchResult.Total  = filter.Total;
            searchResult.Offset = filter.Offset;

            return(searchResult);
        }
        public static SearchResult Search(SearchFilters filter, IEnumerable<Item> dataSource)
        {
            IEnumerable<Item> result;

            result = dataSource.Where(x => x.Level >= filter.LevelMin && x.Level <= filter.LevelMax);

            if (!String.IsNullOrEmpty(filter.QueryString))
            {
                result =
                    TradingPostApiOfficial.ItemTradingPostDB.Values.Where(
                        x => x.Name.ToUpperInvariant().Contains(filter.QueryString.ToUpperInvariant()));
            }

            if (!String.IsNullOrEmpty(filter.Rarity))
            {
                result = result.Where(x => x.Rarity == filter.Rarity);
            }

            if (!String.IsNullOrEmpty(filter.TypeId))
            {
                result = result.Where(x => x.Type == filter.TypeId);
            }

            if (!String.IsNullOrEmpty(filter.SubTypeId))
            {
                result = result.Where(x => x.Details.Type == filter.SubTypeId);
            }

            var list = result.ToList();
            int countAll = list.Count;

            list = list.Skip(filter.Offset).Take(filter.ItemsPerPage).ToList();

            var searchResult = SearchResult.ParseSearchResult(list);

            filter.Total = countAll;

            searchResult.Total = filter.Total;
            searchResult.Offset = filter.Offset;

            return searchResult;
        }
Exemple #3
0
        public void Search(int page, SearchFilters filter)
        {
            if (SearchFinished != null)
            {
                IsSearchInProgress = true;
                Filter             = filter;
                Filter.Offset      = page * filter.ItemsPerPage;
                if (filter.SearchType == SearchType.Items)
                {
                    SearchResult = SearchItems(Filter);
                }
                else
                {
                    SearchResult = SearchRecipes(Filter);
                }

                IsSearchInProgress = false;

                if (SearchFinished != null)
                {
                    SearchFinished(this, new EventArgs <SearchResult>(this.SearchResult));
                }
            }
        }
        public void Search(int page, SearchFilters filters)
        {
            if (SearchFinished != null)
            {
                this.CurrentSearchFilters = filters;
                TaskFactory f = new TaskFactory();
                var t = f.StartNew(() =>
                {
                    int count = HotItemController.CurrentApi.ItemsPerPage;
                    int offset = (page) * HotItemController.CurrentApi.ItemsPerPage;

                    ScrapeHelper searchScraper = new ScrapeHelper(Config.SessionKey);
                    searchScraper.Finished += new EventHandler<DataProvider.Event.ScrapeFinishedEventArgs>(searchScraper_Finished);

                    string sortingMode = filters.SortingMode.ToString();
                    if (filters.SortingMode == SortingMode.none)
                    {
                        sortingMode = null;
                    }
                    IsSearchInProgress = true;
                    String uri = HotItemController.CurrentApi.UriSearch(
                        filters.QueryString, offset, count, filters.TypeId, filters.SubTypeId, filters.Rarity, filters.LevelMin, filters.LevelMax, sortingMode, filters.DescendingSorting); //h.UseSearchApi().Add("text", query).Add("offset", offset.ToString()).Add("count", count.ToString()).Generate();
                    searchScraper.CrawlString(uri, 0, filters.QueryString, HotItemController.CurrentApi);
                });
            }
        }
Exemple #5
0
 public static SearchResult SearchRecipes(SearchFilters filter)
 {
     return(Search(filter, TradingPostApiOfficial.ItemRecipesDB.Values));
 }
        private void Search()
        {
            String rarity = null;
            String category = null;
            String subCategory = null;

            if (SelectedCategory != null)
            {
                category = SelectedCategory.Value.Key;
                if (category == "*")
                    category = null;
            }
            if (SelectedSubCategory != null)
            {
                subCategory = SelectedSubCategory.Key;
                if (subCategory == "*")
                    subCategory = null;
            }
            if (SelectedRarity != null)
            {
                rarity = SelectedRarity.Key;
                if (rarity == "*")
                    rarity = null;
            }

            SearchFilters f = new SearchFilters()
            {
                QueryString = SearchString,
                TypeId = category,
                SubTypeId = subCategory,
                Rarity = rarity,
                LevelMin = MinLevel.ToString(),
                LevelMax = MaxLevel.ToString(),
            };

            _hotItemController.Search(0, f);
        }
 public static SearchResult SearchItems(SearchFilters filter)
 {
     return Search(filter, TradingPostApiOfficial.ItemTradingPostDB.Values);
 }
        public void Search(int page, SearchFilters filter)
        {
            if (SearchFinished != null)
            {
                IsSearchInProgress = true;
                Filter = filter;
                Filter.Offset = page * filter.ItemsPerPage;
                if (filter.SearchType == SearchType.Items)
                {
                    SearchResult = SearchItems(Filter);
                }
                else
                {
                    SearchResult = SearchRecipes(Filter);
                }

                IsSearchInProgress = false;

                if (SearchFinished != null)
                {
                    SearchFinished(this, new EventArgs<SearchResult>(this.SearchResult));
                }
            }
        }
        private void Search()
        {
            String rarity = null;
            String category = null;
            String subCategory = null;

            if (SelectedCategory != null)
            {
                category = SelectedCategory.Value.Key;
                if (category == "*")
                    category = null;
            }
            if (SelectedSubCategory != null)
            {
                subCategory = SelectedSubCategory.Key;
                if (subCategory == "*")
                    subCategory = null;
            }
            if (SelectedRarity != null)
            {
                rarity = SelectedRarity.Key;
                if (rarity == "*")
                    rarity = null;
            }

            var f = new SearchFilters()
            {
                QueryString = SearchString,
                TypeId = category,
                SubTypeId = subCategory,
                Rarity = rarity,
                LevelMin = MinLevel,
                LevelMax = MaxLevel,
                SearchType = IsItemSearch ? SearchType.Items : SearchType.Recpipes
            };

            _searchService.Search(0, f);
        }