Dashing.Console.Program.CreateDatabaseIfNotExists C# (CSharp) Method

CreateDatabaseIfNotExists() private static method

private static CreateDatabaseIfNotExists ( ConnectionStringSettings connectionStringSettings, System.Data.Common.DbProviderFactory factory, ISqlDialect dialect ) : void
connectionStringSettings Dashing.Console.Settings.ConnectionStringSettings
factory System.Data.Common.DbProviderFactory
dialect ISqlDialect
return void
        private static void CreateDatabaseIfNotExists(ConnectionStringSettings connectionStringSettings, DbProviderFactory factory, ISqlDialect dialect) {
            using (new TimedOperation("-- Checking for Existence of Database...")) {
                var connectionStringManipulator = new ConnectionStringManipulator(connectionStringSettings.ToSystem());
                using (var connection = factory.CreateConnection()) {
                    connection.ConnectionString = connectionStringManipulator.GetRootConnectionString().ConnectionString;
                    connection.Open();
                    var databaseName = connectionStringManipulator.GetDatabaseName();
                    Trace("Looking for {0}", databaseName);
                    if (!connection.Query(dialect.CheckDatabaseExists(databaseName)).Any()) {
                        Trace("Not Found");
                        Trace("Creating");
                        connection.Execute(dialect.CreateDatabase(databaseName));
                        Trace("Created");
                    }
                    else {
                        Trace("Found!");
                    }
                }
            }
        }