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);
}