Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }