/// <summary> /// Runs the database connection tests asynchronously. /// </summary> public async void ConnectionTestsRunAsync() { this.databaseConnectionTestException = null; try { this.databaseConnectionTestList = this.configurationTestRunner.GetDatabaseConnectionTestList(); } catch (Exception ex) { this.databaseConnectionTestException = ex; return; } this.progressBar.Maximum = 100; this.progressBar.Value = 0; this.databaseConnectionTestData = DatabaseConnectionTestDetails.ConvertToDataSet( this.databaseConnectionTestList); this.connectionTestBindingSource.DataSource = this.databaseConnectionTestData; IProgress <DatabaseConnectionTestProgressInfo> progress = new Progress <DatabaseConnectionTestProgressInfo>( (connectionTestProgressInfo) => this.UpdateConnectionTestResult(connectionTestProgressInfo)); this.cancellationTokenSource = new CancellationTokenSource(); await configurationTestRunner.DatabaseConnectionTestsRunAsync( new DatabaseConnectionTestRunner(this.databaseConnectionCheckerFactory), cancellationTokenSource.Token, progress); }
/// <summary> /// Converts a list of DatabaseConnectionTestDetails into a striongly typed DataSet. /// </summary> /// <param name="connectionTestList">The list of DatabaseConnectionTestDetails to convert</param> /// <returns>A strongly typed DataSet containing data from the DatabaseConnectionTestDetails</returns> public static DatabaseConnectionTestDetailsDataSet ConvertToDataSet( IList <DatabaseConnectionTestDetails> connectionTestList) { DatabaseConnectionTestDetailsDataSet dataSet = new DatabaseConnectionTestDetailsDataSet(); var ordinalIndex = 1; foreach (DatabaseConnectionTestDetails connectionTest in connectionTestList) { string source = connectionTest.connectionStringSettings.ElementInformation.Source; dataSet.DatabaseConnectionTestDetails.AddDatabaseConnectionTestDetailsRow( connectionTest.ConnectionName, ordinalIndex++, connectionTest.ConnectionString, connectionTest.ProviderName, connectionTest.WasTestRun, connectionTest.WasTestSuccessful, connectionTest.connectionErrorText, connectionTest.TestStatusDescription, source); } return(dataSet); }