private async void OnSearchButtonClicked(object sender, EventArgs e) { //TODO: Include chosen sorting, when calling the database ShoeSearch shoe = new ShoeSearch { model = Search.ChosenModel, size = Search.ChosenShoeSize, low_price = Search.ChosenLowPriceRange, high_price = Search.ChosenHighPriceRange, sortLowToHigh = Search.sortLowToHigh }; // Calls the GET shoes/ api HttpSearchRequests search = new HttpSearchRequests(App.RestClient); SearchResult searchResult = await search.GetAllShoes(); UnfilteredSearchPage unfilteredSearchPage = new UnfilteredSearchPage(shoe, searchResult); await Navigation.PushAsync(unfilteredSearchPage); }
//TODO: Debug colour difference in Sort Price public UnfilteredSearchPage(ShoeSearch shoeQuery, SearchResult searchResult) { InitializeComponent(); SearchResultText = $"{shoeQuery.model}, Size {shoeQuery.size}, ${shoeQuery.low_price}-${shoeQuery.high_price}"; if (shoeQuery.sortLowToHigh) { SortPriceText = $"Sort Price: {Constants.SearchDefaults.sortLowestText}"; } else { SortPriceText = $"Sort Price: {Constants.SearchDefaults.sortHighestText}"; } ResultsReturned = searchResult.ShoeList.Count != 0; num_shoes = searchResult.ShoeList.Count; num_rows = num_shoes / 2 + num_shoes % 2; BindingContext = this; this.shoeQuery = shoeQuery; this.searchResult = searchResult; SortPricePicker.ItemsSource = new Search().SortPriceList; StylePage(); if (num_shoes != 0) { CreateGrid(); } else { CreateEmptyState(); } }