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);
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public virtual void OnDataBaseCreated(string database, CreateDatabaseType type)
 {
 }