Exemplo n.º 1
0
        /// <summary>
        /// Generates default setting files in directory.
        /// </summary>
        /// <param name="directory">Directory to use for creating new files.</param>
        public static void Create(string directory)
        {
            var altitudeMapRules = new AltitudeMapRules();

            altitudeMapRules.Default();
            RulesIO.Save(directory + "\\GenerateAltitudeRules", altitudeMapRules);

            var erosionMapRules = new ErosionMapRules();

            erosionMapRules.Default();
            RulesIO.Save(directory + "\\GenerateErosionRules", erosionMapRules);

            var generateRules = new GenerateRules();

            generateRules.Default();
            RulesIO.Save(directory + "\\GenerationRules", generateRules);

            var moveRules = new MoveRules();

            moveRules.Default();
            RulesIO.Save(directory + "\\MoveRules", moveRules);

            var rainfallMapRules = new RainfallMapRules();

            rainfallMapRules.Default();
            RulesIO.Save(directory + "\\RainfallMapRules", rainfallMapRules);

            var plateData = new PlateData();

            plateData.Default();
            PlateIO.Save(directory + "\\PlateData", plateData);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Genera el schema de la base de datos seleccionada y devuelve un objeto Database.
        /// </summary>
        public Database Process(SqlOption filters)
        {
            string error = "";

            try
            {
                Database databaseSchema = new Database();

                //tables.OnTableProgress += new Progress.ProgressHandler(tables_OnTableProgress);
                databaseSchema.Options = filters;
                databaseSchema.Name    = this.Name;
                databaseSchema.Info    = (new GenerateDatabase(connectionString, filters)).Get(databaseSchema);
                Thread t1 = new Thread(delegate()
                {
                    try
                    {
                        GenerateRules.Fill(databaseSchema, connectionString);
                        GenerateTables.Fill(databaseSchema, connectionString, messages);
                        GenerateUserDataTypes.Fill(databaseSchema, connectionString, messages);
                        GenerateXMLSchemas.Fill(databaseSchema, connectionString);
                        GenerateSchemas.Fill(databaseSchema, connectionString);
                        GenerateUsers.Fill(databaseSchema, connectionString);
                    }
                    catch (Exception ex)
                    {
                        error = ex.StackTrace;
                    }
                });
                Thread t2 = new Thread(delegate()
                {
                    try
                    {
                        GeneratePartionFunctions.Fill(databaseSchema, connectionString);
                        GenerateFileGroups.Fill(databaseSchema, connectionString);
                        GenerateDDLTriggers.Fill(databaseSchema, connectionString);
                        GenerateSynonyms.Fill(databaseSchema, connectionString);
                        GenerateAssemblies.Fill(databaseSchema, connectionString);
                    }
                    catch (Exception ex)
                    {
                        error = ex.StackTrace;
                    }
                });
                Thread t3 = new Thread(delegate()
                {
                    try
                    {
                        GenerateStoreProcedures.Fill(databaseSchema, connectionString);
                        GenerateViews.Fill(databaseSchema, connectionString);
                        GenerateFunctions.Fill(databaseSchema, connectionString);
                    }
                    catch (Exception ex)
                    {
                        error = ex.StackTrace;
                    }
                });
                t1.Start();
                t2.Start();
                t3.Start();
                t1.Join();
                t2.Join();
                t3.Join();
                if (String.IsNullOrEmpty(error))
                {
                    /*Las propiedades extendidas deben ir despues de haber capturado el resto de los objetos de la base*/
                    GenerateExtendedProperties.Fill(databaseSchema, connectionString, messages);
                    databaseSchema.BuildDependency();
                    return(databaseSchema);
                }
                else
                {
                    throw new SchemaException(error);
                }
            }
            catch
            {
                throw;
            }
        }