private SqlConnectionStringBuilder CreateServerPointerInCatalogue(IServerDefaults defaults, string prefix, string databaseName, PermissableDefaults defaultToSet, IPatcher patcher) { var opts = new PlatformDatabaseCreationOptions() { ServerName = TestDatabaseSettings.ServerName, Prefix = prefix, Username = TestDatabaseSettings.Username, Password = TestDatabaseSettings.Password, ValidateCertificate = false }; var builder = opts.GetBuilder(databaseName); if (string.IsNullOrWhiteSpace(databaseName)) { builder.InitialCatalog = ""; } //create a new pointer var externalServerPointer = new ExternalDatabaseServer(CatalogueRepository, databaseName ?? "RAW", patcher) { Server = builder.DataSource, Database = builder.InitialCatalog, Password = builder.Password, Username = builder.UserID }; externalServerPointer.SaveToDatabase(); //now make it the default DQE defaults.SetDefault(defaultToSet, externalServerPointer); return(builder); }
private void btnCreateSuite_Click(object sender, EventArgs e) { var sb = new StringBuilder(); try { Cursor = Cursors.WaitCursor; Console.SetOut(new StringWriter(sb)); var opts = new PlatformDatabaseCreationOptions(); opts.ServerName = tbSuiteServer.Text; opts.Prefix = tbDatabasePrefix.Text; opts.Username = tbUsername.Text; opts.Password = tbPassword.Text; opts.ExampleDatasets = cbCreateExampleDatasets.Checked; opts.Seed = _seed; opts.NumberOfPeople = _peopleCount; opts.NumberOfRowsPerDataset = _rowCount; bool failed = false; var task = new Task(() => { try { var creator = new PlatformDatabaseCreation(); creator.CreatePlatformDatabases(opts); if (!opts.SkipPipelines) { PostFixPipelines(opts); } } catch (Exception ex) { checksUI1.OnCheckPerformed( new CheckEventArgs("Database creation failed, check exception for details", CheckResult.Fail, ex)); failed = true; } }); task.Start(); while (!task.IsCompleted) { task.Wait(100); Application.DoEvents(); var result = sb.ToString(); if (string.IsNullOrEmpty(result)) { continue; } sb.Clear(); if (result.Contains("Exception")) { throw new Exception(result); } checksUI1.OnCheckPerformed(new CheckEventArgs(result, CheckResult.Success)); } checksUI1.OnCheckPerformed(new CheckEventArgs("Finished Creating Platform Databases", CheckResult.Success)); var cata = opts.GetBuilder(PlatformDatabaseCreation.DefaultCatalogueDatabaseName); var export = opts.GetBuilder(PlatformDatabaseCreation.DefaultDataExportDatabaseName); UserSettings.CatalogueConnectionString = cata.ConnectionString; UserSettings.DataExportConnectionString = export.ConnectionString; if (!failed) { RestartApplication(); } } catch (Exception exception) { checksUI1.OnCheckPerformed(new CheckEventArgs("Database creation failed, check exception for details", CheckResult.Fail, exception)); } finally { Cursor = Cursors.Default; } }