private async void Search(object o)
        {
            IsSearchResultLoading = true;
            SearchResult          = null;

            PreSearch = new PreSearch();

            PreSearch.League = SelectedLeague;

            dynamic q = new
            {
                type   = SelectedSearchTextResult != null ? SelectedSearchTextResult.Type : null,
                name   = SelectedSearchTextResult != null ? SelectedSearchTextResult.Name : null,
                status = new {
                    option = SelectedOnlineOption == 0 ? "online" : "any"
                },
                filters = AddTabFilters(),
                stats   = StatsFilterEnabled ? ((StatsFilterControl)((StatsFilter)StatsFilterTabContent).DataContext).GetFilter() : null
            };

            PreSearch.Query = q;

            Sort sort = new Sort();

            sort.Price     = "asc";
            PreSearch.Sort = sort;

            SearchResult sr = new SearchResult();
            await sr.Load(PreSearch);

            SearchResult          = sr;
            IsSearchResultLoading = false;
        }
Example #2
0
        public async Task Load(PreSearch preSearch)
        {
            Items = new List <SearchResultItem>();

            if (PreSearchResult == null)
            {
                PreSearchResult = await PreSearchResult.Load(preSearch);
            }

            await LoadMore();
        }
Example #3
0
        public static async Task <PreSearchResult> Load(PreSearch search)
        {
            string url = $"https://www.pathofexile.com/api/trade/search/" + search.League.LeagueId;

            string response = "";

            using (var bench = new Benchmark("Pre search raw response: "))
            {
                response = await Api.PostAsync(url, search);
            }
            PreSearchResult ok = null;

            using (var bench = new Benchmark("Pre search deserialization: "))
            {
                ok = JsonConvert.DeserializeObject <PreSearchResult>(response);
            }
            return(ok);
        }