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(); }
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); }
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); }
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); }