Example #1
0
        public void GenerateAssemblyOnClick(object sender, EventArgs e)
        {
            DisableInputs();
            string text = "Generating ...";

            SetStatus(text);
            DaoAssemblyGenerator generator = GetDaoAssemblyGenerator();

            DirectoryInfo srcDir = GetSourceDir();
            string        dest   = string.Empty;
            DialogResult  result = MessageBox.Show("Generate C# first?", "Generate C#?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                generator.GenerateSource(srcDir.FullName);
            }
            if (result == DialogResult.Yes || result == DialogResult.No)
            {
                GenerateAssembly(generator, srcDir, out dest);
                text = "Assembly File: {0}"._Format(dest);
                SetStatus(text);
            }

            EnableInputs();
        }
Example #2
0
        public void DaoAssemblyGenerator()
        {
            MsSqlCredentials creds = new MsSqlCredentials {
                UserName = "******", Password = "******"
            };
            MsSqlDatabase           db        = new MsSqlDatabase(new MsSqlConnectionStringResolver("chumsql2", "Db_Sillydatabase", creds));
            MsSqlSmoSchemaExtractor extractor = new MsSqlSmoSchemaExtractor(db);
            DaoAssemblyGenerator    generator = new DaoAssemblyGenerator(extractor, "C:\\Bam\\Data\\Test");

            Out(generator.PropertiesToString(), ConsoleColor.Cyan);
        }
Example #3
0
        private void GenerateAssembly(DaoAssemblyGenerator generator, DirectoryInfo srcDir, out string dest)
        {
            GeneratedAssemblyInfo assembly = generator.Compile(srcDir.FullName, "{0}.dll"._Format(Namespace));
            FileInfo assemblyFile          = assembly.GetAssembly().GetFileInfo();

            dest = Path.Combine(this.WorkspaceFolder, "bin", assemblyFile.Name);
            DirectoryInfo destDir = new DirectoryInfo(Path.Combine(this.WorkspaceFolder, "bin"));

            if (!destDir.Exists)
            {
                Directory.CreateDirectory(destDir.FullName);
            }
            assemblyFile.CopyTo(dest);
        }
Example #4
0
        private DaoAssemblyGenerator GetDaoAssemblyGenerator()
        {
            DaoAssemblyGenerator generator = new DaoAssemblyGenerator(this.MappedSchemaDefinition.SchemaDefinition, this.MappedSchemaDefinition.SchemaNameMap);

            generator.Namespace = Namespace ?? DefaultNamespace;

            generator.OnTableStarted += (ns, table) =>
            {
                FormModelBinder.SetByTag("SchemaStatus", "Generating: {0}.{1}"._Format(ns, table.Name));
            };
            generator.OnGenerateStarted += (gen, sd) =>
            {
                FormModelBinder.SetByTag("SchemaStatus", "Generation started...");
            };
            generator.OnGenerateComplete += (gen, sd) =>
            {
                FormModelBinder.SetByTag("SchemaStatus", "Genertion complete");
            };
            return(generator);
        }