nHydrate.Generator.Common.GeneratorFramework.GeneratorHelper.GetProjectGenerator C# (CSharp) Method

GetProjectGenerator() private method

private GetProjectGenerator ( Type projectGeneratorType ) : IProjectGenerator
projectGeneratorType System.Type
return IProjectGenerator
        private IProjectGenerator GetProjectGenerator(Type projectGeneratorType)
        {
            try
            {
                var projectGenerator = (IProjectGenerator)ReflectionHelper.CreateInstance(projectGeneratorType);
                return projectGenerator;
            }
            catch (Exception ex)
            {
                throw;
            }
        }

Usage Example

Example #1
0
        private bool ChooseGenerators(
            nHydrateModel model,
            List <nHydrateGeneratorProject> genList,
            List <Type> generatorTypeList,
            List <Type> excludeList,
            nHydrate.Generator.Common.GeneratorFramework.GeneratorHelper genHelper)
        {
            if (!genList.Any())
            {
                MessageBox.Show("There are no generators defined", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }

            var cacheFile = new nHydrate.Generator.Common.ModelCacheFile(genList.First());

            if (cacheFile.ModelerVersion > System.Reflection.Assembly.GetExecutingAssembly().GetName().Version)
            {
                if (MessageBox.Show($"This model schema was last generated with a newer modeler version ({cacheFile.ModelerVersion}). Your current version is {System.Reflection.Assembly.GetExecutingAssembly().GetName().Version}. Generating with an older modeler may cause many files to change unexpectedly. Do you wish to proceed with the generation?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
                {
                    return(false);
                }
            }

            //Initialize all the model configuration objects
            var modelRoot = genList.First().Model as ModelRoot;

            modelRoot.ModelConfigurations = new Dictionary <string, IModelConfiguration>();
            foreach (var genType in generatorTypeList)
            {
                var generator = genHelper.GetProjectGenerator(genType);
                modelRoot.ModelConfigurations.Add(generator.GetType().Name, generator.ModelConfiguration);
            }

            //Show generator list
            using (var F = new GenerateSettings(genList.First(), generatorTypeList, null))
            {
                if (F.ShowDialog() != DialogResult.OK)
                {
                    return(false);
                }
                excludeList.AddRange(F.ExcludeList);
            }

            return(true);
        }