private void ButtonGenerate_OnClick(object sender, RoutedEventArgs e) { Project project = new Project(_database); project.BatchStatementCount = 1; project.InitializeDefaultGenerator(); var sqlScriptExecutor = new SqlScriptExecutor(); project.Generate(sqlScriptExecutor, 100, 5); MessageBox.Show("Done"); }
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; } }
public virtual void WriteFooter(Project project) { }
public virtual void WriteHeader(Project project) { }
private IDictionary<Column, IEnumerator<object>> GenerateValues(Project project, ICollection<Column> columns, ICollection<DataGenerator> dataGenerators, int count, int nullCount) { if (columns.Count != dataGenerators.Count) throw new ArgumentException(); var result = new Dictionary<Column, IEnumerator<object>>(); using (var e1 = columns.GetEnumerator()) using (var e2 = dataGenerators.GetEnumerator()) { while (e1.MoveNext() && e2.MoveNext()) { result.Add(e1.Current, e2.Current.Generate(this, e1.Current, count, nullCount).GetEnumerator()); } } return result; }