public void Generate(List<Table> tables, Configuration config, IRepositoryGenerator repoGenerator) { if (config.GenerateClasses) { var entityGenerator = new EntityGenerator(config, repoGenerator); tables.ForEach(m => entityGenerator.Generate(m)); } if (config.GenerateControllers) { var controllerGenerator = new ControllerGenerator(config); tables.ForEach(m => { var pkColumn = m.Columns.FirstOrDefault(x => x.IsPrimaryKey); string idType = (pkColumn == null) ? "int" : pkColumn.Type; controllerGenerator.Generate(m.Name.UppercaseFirst(), idType); }); } }
private void Scaffold() { var conf = new Configuration(); conf.Namespace = txtNamespace.Text.Trim(); conf.OutputPath = txtOutputPath.Text.Trim(); conf.GenerateClasses = chkGenerateModels.Checked; conf.IncludeDataAnnotations = chkIncludeDataAnnotations.Enabled && chkIncludeDataAnnotations.Checked; conf.IncludeRepositoryMethods = chkIncludeRepositoryMethods.Enabled && chkIncludeRepositoryMethods.Checked; conf.GenerateControllers = chkGenerateControllers.Checked; var generator = new CSCodeGenerator(); generator.Generate(_scaffoldingParams.TablesToScaffold, conf, GetChosenRepoGenerator()); Process.Start(conf.OutputPath); }
public ControllerGenerator(Configuration config) { _config = config; }
public EntityGenerator(Configuration config, IRepositoryGenerator repoGenerator) { _config = config; _repositoryGenerator = repoGenerator; }