public override void CreateDatabase(string dbName, CreateDatabaseType type, Action <double> pCallback) { dbName = FilterSqlParameter(dbName); string script; int extraCommands = 0; List <DbParam> parameters = new List <DbParam> (); switch (type) { case CreateDatabaseType.SampleRestaurant: script = string.Format(GetScript("SampleRestaurant_307.sql.gz", parameters), dbName); extraCommands = AdjustSampleDatesCommandsNumber; break; case CreateDatabaseType.SampleStore: script = string.Format(GetScript("SampleStore_307.sql.gz", parameters), dbName); extraCommands = AdjustSampleDatesCommandsNumber; break; default: script = string.Format(GetScript("Blank_307.sql.gz", parameters), dbName); break; } int i = 0; string [] scriptLines = script.Split(';'); try { using (DbTransaction transaction = new DbTransaction(this)) { for (i = 0; i < scriptLines.Length; i++) { string line = scriptLines [i]; line = line.Trim(' ', '\n', '\r', '\t', '\xA0'); if (line.Length > 0) { ExecuteNonQuery(line, parameters.ToArray()); } if (pCallback != null) { pCallback(((double)(i * 100)) / (scriptLines.Length + extraCommands - 1)); } } if (type == CreateDatabaseType.SampleRestaurant || type == CreateDatabaseType.SampleStore) { AdjustSampleDates(scriptLines.Length, pCallback); } EnsurePatchVersion(dbName); transaction.Complete(); } } catch (Exception ex) { throw new SqlSyntaxException(scriptLines [i], i, ex); } }
public static void CreateDatabase(string database, CreateDatabaseType type, Action <double> callback) { baseProvider.CreateDatabase(database, type, callback); foreach (IDBCustomizer node in AddinManager.GetExtensionObjects("/Warehouse/Business/DBCustomizer")) { node.DbCreated(database, type); } }
public void CreateDatabase(string database, CreateDatabaseType type, Action <double> callback) { if (dataAccessProvider == null) { throw new DataProviderNotInitializedException(); } dataAccessProvider.CreateDatabase(database, type, callback); dataAccessProvider.Database = database; appConfiguration.DbDatabase = database; WorkflowManager.OnDataBaseCreated(database, type); }
public virtual void OnDataBaseCreated(string database, CreateDatabaseType type) { }