private void searchCodeButtonClick(object sender, RoutedEventArgs e) { if (isValid(termTextBox, ownerTextBox, fileNameTextBox, extensionTextBox, pathTextBox, sizeTextBox, accessTokenTextBox)) { searchButton.IsEnabled = false; downloadResultsButton.Visibility = Visibility.Hidden; noResultsLabel.Visibility = Visibility.Hidden; GlobalVariables.client = GlobalVariables.createGithubClient(accessTokenTextBox.Text); requestParameters = new SearchCodeRequestParameters(termTextBox.Text, extensionTextBox.Text, ownerTextBox.Text, Int32.Parse(sizeTextBox.Text), languageComboBox.Text, pathIncludedCheckBox.IsChecked, forkComboBox.Text, fileNameTextBox.Text, pathTextBox.Text, sizeComboBox.Text); tryShowResults(requestParameters); searchButton.IsEnabled = true; } }
private async void tryShowResults(SearchCodeRequestParameters requestParameters) { try { var pagesCount = await codeSearch.getNumberOfPages(requestParameters); if (pagesCount != 0) { pageDialog = new PageDialog(pagesCount); pageDialog.ShowDialog(); var result = await codeSearch.searchCode(requestParameters, pageDialog.FirstPage, pageDialog.LastPage); filesDataGrid.ItemsSource = result; downloadResultsButton.Visibility = Visibility.Visible; } else { filesDataGrid.ItemsSource = null; noResultsLabel.Visibility = Visibility.Visible; } } catch (ApiValidationException exception) { MessageBox.Show(exception.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Warning); } catch (RateLimitExceededException exception) { MessageBox.Show(exception.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Warning); } catch (System.Net.Http.HttpRequestException) { MessageBox.Show("An error occurred while trying to send the request. Please check your" + " internet connection", "Error", MessageBoxButton.OK, MessageBoxImage.Warning); } catch (AuthorizationException) { MessageBox.Show("Authentication failed: bad credentials", "Error", MessageBoxButton.OK, MessageBoxImage.Warning); } catch (AbuseException exception) { MessageBox.Show("You have triggered an abuse detection mechanism. Try again after " + exception.RetryAfterSeconds + " seconds", "Error", MessageBoxButton.OK, MessageBoxImage.Warning); } }