private async void HandleItemSelected(Product product) { // Check for internet connection if (!CrossConnectivity.Current.IsConnected) { await Application.Current.MainPage.DisplayAlert("", "No internet connection", "OK"); return; } if (SelectedItem != null) { SelectedItem = null; string document = ""; if (product.DataURL != null && product.DataURL != "") { document = BingWebRequest.SendRequest(product.DataURL); } if (document != null && document != "") { new ProductExtractor().ExtractDetails(product, document); } await Application.Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new ProductPage(product, true))); } }
private async void HandleSearch(string text) { // Check for internet connection if (!CrossConnectivity.Current.IsConnected) { await Application.Current.MainPage.DisplayAlert("", "No internet connection", "OK"); return; } string document = ""; IList <Product> products = null; if (text != null && text.Trim() != "") { string query = Uri.EscapeDataString(text.Trim()); document = BingWebRequest.SendRequest("/shop?q=" + query); } if (document != null && document != "") { products = new ProductExtractor().ExtractProducts(document); } if (products != null && products.Count > 0) { Products = new ObservableCollection <Product>(products); SelectedOption = null; } else { await Application.Current.MainPage.DisplayAlert("", "No results", "OK"); } }
private async void ProcessImage(MediaFile file) { // Check for internet connection if (!CrossConnectivity.Current.IsConnected) { await Application.Current.MainPage.DisplayAlert("", "No internet connection", "OK"); return; } if (file == null) { return; } // Show photo and enable loading animation Source = file.Path; IsRunning = true; IsVisible = true; // Annotate image on another thread string keywords = ""; try { await Task.Run(async() => { keywords = await AnnotateAsync(file.Path); }); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } // Show placeholder and disable loading animation Source = "placeholder.png"; IsRunning = false; IsVisible = false; // Search for the item using Bing shop if (keywords.Trim() != "") { string document = ""; IList <Product> products = null; string query = Uri.EscapeDataString(keywords.Trim()); document = BingWebRequest.SendRequest("/shop?q=" + query); if (document != null && document != "") { products = new ProductExtractor().ExtractProducts(document); } if (products != null && products.Count > 0) { await Application.Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new ResultPage(products))); } else { await Application.Current.MainPage.DisplayAlert("", "No results", "OK"); } } else { await Application.Current.MainPage.DisplayAlert("", "No results", "OK"); } }