Beispiel #1
0
        /// <summary>
        /// Get the code generation options that have been set at the model level
        /// </summary>
        /// <remarks>
        /// Thers emay be overridden on a per-user basis as part of the build process
        /// </remarks>
        public IModelCodeGenerationOptions GetCodeGenerationOptions()
        {
            ModelCodegenerationOptionsBase.SupportedLanguages           CodeLanguageIn          = ModelCodegenerationOptionsBase.SupportedLanguages.VBNet;
            ModelCodegenerationOptionsBase.ConstructorPreferenceSetting ConstructorPreferenceIn = ModelCodegenerationOptionsBase.ConstructorPreferenceSetting.GenerateBoth;
            System.IO.DirectoryInfo DirectoryRootIn = null;
            bool SeparateFolderPerModelIn           = true;
            bool SeparateFolderPerAggregateIn       = true;

            // Read the model properties that affect code generation


            return(ModelCodeGenerationOptions.Create(CodeLanguageIn,
                                                     ConstructorPreferenceIn,
                                                     DirectoryRootIn,
                                                     SeparateFolderPerModelIn,
                                                     SeparateFolderPerAggregateIn));
        }
Beispiel #2
0
        internal void OnMenuGenerateCQRSModelCode(object sender, EventArgs e)
        {
            if (null != GetCurrentCQRSModel())
            {
                // TODO: Show the model code settings, to allow the user to change them if neccessary
                CQRSAzure.CQRSdsl.CustomCode.Interfaces.IModelCodeGenerationOptions options = GetCurrentCQRSModel().GetCodeGenerationOptions();
                if (null == options)
                {
                    options = ModelCodeGenerationOptions.Default();
                }


                // Code generation for the specified model...
                CodeGeneration.ModelCodeGenerator codeGen = new CodeGeneration.ModelCodeGenerator(GetCurrentCQRSModel(), options);
                if (null != codeGen)
                {
                    codeGen.GenerateCode();
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Get the code generation options that have been set at the model level
        /// </summary>
        /// <remarks>
        /// These may be overridden on a per-user basis as part of the build process
        /// </remarks>
        public IModelCodeGenerationOptions GetCodeGenerationOptions()
        {
            ModelCodegenerationOptionsBase.SupportedLanguages           CodeLanguageIn          = ModelCodegenerationOptionsBase.SupportedLanguages.VBNet;
            ModelCodegenerationOptionsBase.ConstructorPreferenceSetting ConstructorPreferenceIn = ModelCodegenerationOptionsBase.ConstructorPreferenceSetting.GenerateBoth;
            System.IO.DirectoryInfo DirectoryRootIn = null;
            bool SeparateFolderPerModelIn           = true;
            bool SeparateFolderPerAggregateIn       = true;
            bool GenerateEntityFrameworkClassesIn   = false;

            // Read the model properties that affect code generation
            if (this.DefaultCodeGenerationLanguage == TargetLanguage.CSharp)
            {
                CodeLanguageIn = ModelCodegenerationOptionsBase.SupportedLanguages.CSharp;
            }
            if (!this.SubfolderPerDomain)
            {
                SeparateFolderPerModelIn = false;
            }
            if (!this.SubfolderPerAggregate)
            {
                SeparateFolderPerAggregateIn = false;
            }

            if (!string.IsNullOrWhiteSpace(this.CodeRootFolder))
            {
                if (System.IO.Directory.Exists(this.CodeRootFolder))
                {
                    DirectoryRootIn = new System.IO.DirectoryInfo(this.CodeRootFolder);
                }
                else
                {
                    // Can you make this into a relative path??
                    if (!System.IO.Path.IsPathRooted(this.DocumentationRootFolder))
                    {
                        DirectoryRootIn = new System.IO.DirectoryInfo(
                            System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory
                                                   , this.CodeRootFolder));
                    }
                }
            }
            else
            {
                DirectoryRootIn = new System.IO.DirectoryInfo(System.IO.Path.Combine(System.IO.Path.GetTempPath(),
                                                                                     this.Name,
                                                                                     "Code"));
            }

            if (this.GenerateEntityFrameworkClasses)
            {
                GenerateEntityFrameworkClassesIn = true;
            }

            // Read any per-user overrides ??

            return(ModelCodeGenerationOptions.Create(CodeLanguageIn,
                                                     ConstructorPreferenceIn,
                                                     DirectoryRootIn,
                                                     SeparateFolderPerModelIn,
                                                     SeparateFolderPerAggregateIn,
                                                     GenerateEntityFrameworkClassesIn));
        }