예제 #1
0
        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);
        }
예제 #2
0
        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;
            }
        }
        // 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);
        }
예제 #4
0
        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);
        }