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; }
public async Task Load(PreSearch preSearch) { Items = new List <SearchResultItem>(); if (PreSearchResult == null) { PreSearchResult = await PreSearchResult.Load(preSearch); } await LoadMore(); }
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); }