private void RecentComboBox_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            RecentConnectionString recentConnectionString = e.AddedItems.OfType <RecentConnectionString>().FirstOrDefault();

            if (recentConnectionString == null)
            {
                return;
            }

            TextBoxConnectionString.ConnectionStringObject = ConnectionStringObject.CreateObject(recentConnectionString.DatabaseSystem, recentConnectionString.ConnectionString);
        }
        private void ButtonTestConnection_Click(object sender, RoutedEventArgs e)
        {
            if (ConnectionStringObject == null)
            {
                return;
            }

            Window window = GetWindow(this);

            ConnectionStringObject.TestConnection(window.AsWin32Window());
        }
        private async void ButtonGenerate_OnClick(object sender, RoutedEventArgs e)
        {
            if (ConnectionStringObject == null)
            {
                return;
            }

            Database database = Database.Get(SelectedDatabaseSystem.ToString(), ConnectionStringObject.ToString(true));

            if (!database.Exists)
            {
                MessageBox.Show("Cannot connect to the database");
                return;
            }

            // Update Recent configurations
            Settings.Current.AddRecentConnectionString(SelectedDatabaseSystem, database);
            Settings.Current.SerializeToConfiguration();

            // Generate
            try
            {
                CircularProgressBar.Visibility = Visibility.Visible;
                Exception exception = null;
                var       count     = ConvertUtilities.ChangeType(TextBoxRows.Text, 100);
                var       nullCount = ConvertUtilities.ChangeType(TextBoxNullRows.Text, 5);

                await Task.Run(() =>
                {
                    Project project             = new Project(database);
                    project.BatchStatementCount = 1;
                    project.InitializeDefaultGenerator();
                    SqlScriptExecutor sqlScriptExecutor = new SqlScriptExecutor();

                    if (Debugger.IsAttached)
                    {
                        project.Generate(sqlScriptExecutor, count, nullCount);
                    }
                    else
                    {
                        try
                        {
                            project.Generate(sqlScriptExecutor, count, nullCount);
                        }
                        catch (Exception ex)
                        {
                            exception = ex;
                        }
                    }
                });

                if (exception == null)
                {
                    MessageBox.Show("Done");
                }
                else
                {
                    MessageBox.Show(exception.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                CircularProgressBar.Visibility = Visibility.Collapsed;
            }
        }
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string defaultConnectionString = ConnectionStringObject.GetDefaultConnectionString(SelectedDatabaseSystem, "sample");

            ConnectionStringObject = ConnectionStringObject.CreateObject(SelectedDatabaseSystem, defaultConnectionString);
        }
 public ConnectionStringObject ToConnectionStringObject()
 {
     return(ConnectionStringObject.CreateObject(DatabaseSystem, ConnectionString));
 }