private bool GenerateAssembly(IContext context) { try { IDomainMap domainMap = context.DomainMap; ModelToCodeTransformer modelToCodeTransformer = new ModelToCodeTransformer(); CodeDomProvider provider = null; provider = new CSharpCodeProvider(); string code = modelToCodeTransformer.ToCode(domainMap, provider); CompilerResults cr = modelToCodeTransformer.ToCompilerResults(domainMap, provider); if (cr.Errors.Count > 0) { } else { domain = cr.CompiledAssembly; context.AssemblyManager.RegisterAssembly(domain); } } catch (Exception ex) { domain = null; } if (domain == null) { return(false); } return(true); }
private void GenerateAssembly(IContext context) { try { IDomainMap domainMap = context.DomainMap; ModelToCodeTransformer modelToCodeTransformer = new ModelToCodeTransformer(); CodeDomProvider provider = null; provider = new CSharpCodeProvider(); string code = modelToCodeTransformer.ToCode(domainMap, provider); CompilerResults cr = modelToCodeTransformer.ToCompilerResults(domainMap, provider); if (cr.Errors.Count > 0) { } else { Assembly domain = cr.CompiledAssembly; context.AssemblyManager.RegisterAssembly(domain); this.DomainAssembly = domain; } } catch (Exception ex) { this.DomainAssembly = null; } }
private void button1_Click(object sender, System.EventArgs e) { IDomainMap domainMap = new DomainMap(); domainMap.Name = "Test"; domainMap.RootNamespace = "Puzzle.Testing"; IClassMap employee = new ClassMap(); employee.Name = "Employee"; employee.DomainMap = domainMap; IPropertyMap firstName = new PropertyMap(); firstName.Name = "FirstName"; firstName.DataType = "System.String"; firstName.ClassMap = employee; IPropertyMap lastName = new PropertyMap(); lastName.Name = "LastName"; lastName.DataType = "System.String"; lastName.ClassMap = employee; IPropertyMap reportsTo = new PropertyMap(); reportsTo.Name = "ReportsTo"; reportsTo.DataType = "Employee"; reportsTo.ClassMap = employee; IPropertyMap employees = new PropertyMap(); employees.Name = "Employees"; employees.IsCollection = true; employees.ItemType = "Employee"; employees.ClassMap = employee; ModelToCodeTransformer modelToCodeTransformer = new ModelToCodeTransformer(); string code = modelToCodeTransformer.ToCSharpCode(domainMap); //string code = modelToCodeTransformer.ToCSharpCodeFile(domainMap, "Test"); //modelToCodeTransformer.ToAssemblyFile(domainMap, domainMap.Name + ".dll"); Assembly asm = modelToCodeTransformer.ToAssembly(domainMap); textBox1.Text = code; }
// Taken from DomainExplorer private static Assembly GenerateAssembly(IContext context) { Assembly domain = null; try { IDomainMap domainMap = context.DomainMap; ModelToCodeTransformer modelToCodeTransformer = new ModelToCodeTransformer(); CodeDomProvider provider = null; if (domainMap.CodeLanguage == CodeLanguage.CSharp) { provider = new CSharpCodeProvider(); } else if (domainMap.CodeLanguage == CodeLanguage.VB) { provider = new VBCodeProvider(); } else { throw new IAmOpenSourcePleaseImplementMeException(); } string code = modelToCodeTransformer.ToCode(domainMap, provider); CompilerResults cr = modelToCodeTransformer.ToCompilerResults(domainMap, provider); if (cr.Errors.Count > 0) { throw new Exception("Domain model could not be compiled!"); } else { domain = cr.CompiledAssembly; } } catch (Exception ex) { throw new Exception("Domain model could not be compiled! The compiler gave the following exception: " + ex.ToString()); } return(domain); }
private bool GenerateAssembly(IContext context) { try { IDomainMap domainMap = context.DomainMap; ModelToCodeTransformer modelToCodeTransformer = new ModelToCodeTransformer(); CodeDomProvider provider = null; //if (domainMap.CodeLanguage == CodeLanguage.CSharp) //{ provider = new CSharpCodeProvider(); // config.SetupCSharp(); //} //else if (domainMap.CodeLanguage == CodeLanguage.VB) //{ // provider = new VBCodeProvider(); // config.SetupVBNet(); //} string code = modelToCodeTransformer.ToCode(domainMap, provider); CompilerResults cr = modelToCodeTransformer.ToCompilerResults(domainMap, provider); if (cr.Errors.Count > 0) { } else { domain = cr.CompiledAssembly; } } catch (Exception ex) { domain = null; } if (domain == null) { return(false); } return(true); }