private bool GenerateAssembly(IContext context) { try { IDomainMap domainMap = context.DomainMap; ModelToCodeTransformer modelToCodeTransformer = new ModelToCodeTransformer() ; CodeDomProvider provider = null; SyntaxBoxConfigurator config = new SyntaxBoxConfigurator(codeTextBox.SyntaxBoxControl) ; if (domainMap.CodeLanguage == CodeLanguage.CSharp) { provider = new CSharpCodeProvider(); config.SetupCSharp() ; } else if (domainMap.CodeLanguage == CodeLanguage.VB) { provider = new VBCodeProvider(); config.SetupVBNet() ; } else throw new IAmOpenSourcePleaseImplementMeException() ; string code = modelToCodeTransformer.ToCode(domainMap, provider); codeTextBox.Text = code; CompilerResults cr = modelToCodeTransformer.ToCompilerResults(domainMap, provider); if (cr.Errors.Count > 0) { DisplayCompilerErrors(cr); MessageBox.Show("Domain model could not be compiled! The exceptions given by the compiler can be seen in the Errors list. "); domain = null; } else { domain = cr.CompiledAssembly; } } catch (Exception ex) { MessageBox.Show("Domain model could not be compiled! The compiler gave the following exception: " + ex.ToString() ); domain = null; } if (domain == null) return false; return true; }
public void SetupCSharp() { SyntaxBoxConfigurator syntaxBoxConfigurator = new SyntaxBoxConfigurator(syntaxBoxControl1); syntaxBoxConfigurator.SetupCSharp() ; }