Beispiel #1
0
        private static int Run(PlatformDatabaseCreationOptions opts)
        {
            var serverName = opts.ServerName;
            var prefix     = opts.Prefix;

            Console.WriteLine("About to create on server '" + serverName + "' databases with prefix '" + prefix + "'");

            try
            {
                var creator = new PlatformDatabaseCreation();
                creator.CreatePlatformDatabases(opts);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(-1);
            }
            return(0);
        }
Beispiel #2
0
        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;
            }
        }