private void Submit_Click( object sender, RoutedEventArgs e )
{
ToggleSubmit( Submit );
string serverName = ServerName.Text;
string databaseName = DatabaseName.Text;
string outputFolder = OutputFolder.Text;
if (string.IsNullOrWhiteSpace( serverName )
|| string.IsNullOrWhiteSpace( databaseName )
|| string.IsNullOrWhiteSpace( outputFolder ))
{
throw new Exception( "Please complete all form fields" );
}
var command = new BimlRequest
{
ServerName = serverName,
DatabaseName = databaseName,
OutputFolder = outputFolder,
HasConnections = (bool) HasConnections.IsChecked,
HasDatabases = (bool) HasDatabase.IsChecked,
HasSchemas = (bool) HasSchemas.IsChecked,
HasTables = (bool) HasTables.IsChecked,
HasFactsAndDimensions = (bool) HasFactsAndDimensions.IsChecked
};
var result = Task.Run( () => GetBiml( command ) );
result.ContinueWith( t => OpenExplorer( outputFolder ) );
result.ContinueWith( t => ToggleSubmit( Submit ),
CancellationToken.None,
TaskContinuationOptions.None,
TaskScheduler.FromCurrentSynchronizationContext() );
}