public override async Task Generate(CommandLineGeneratorModel controllerGeneratorModel) { Contract.Assert(!String.IsNullOrEmpty(controllerGeneratorModel.ModelClass)); string outputPath = ValidateAndGetOutputPath(controllerGeneratorModel); var modelTypeAndContextModel = await ValidateModelAndGetMetadata(controllerGeneratorModel); if (string.IsNullOrEmpty(controllerGeneratorModel.ControllerName)) { //Todo: Pluralize model name controllerGeneratorModel.ControllerName = modelTypeAndContextModel.ModelType.Name + Constants.ControllerSuffix; } var templateModel = new ControllerWithContextTemplateModel(modelTypeAndContextModel.ModelType, modelTypeAndContextModel.DbContextFullName) { ControllerName = controllerGeneratorModel.ControllerName, AreaName = string.Empty, //ToDo UseAsync = controllerGeneratorModel.UseAsync, ControllerNamespace = GetControllerNamespace(), ModelMetadata = modelTypeAndContextModel.ContextProcessingResult.ModelMetadata }; await CodeGeneratorActionsService.AddFileFromTemplateAsync(outputPath, GetTemplateName(controllerGeneratorModel), TemplateFolders, templateModel); Logger.LogMessage("Added Controller : " + outputPath.Substring(ApplicationInfo.ApplicationBasePath.Length)); await GenerateViewsIfRequired(controllerGeneratorModel, modelTypeAndContextModel, templateModel.ControllerRootName); if (modelTypeAndContextModel.ContextProcessingResult.ContextProcessingStatus == ContextProcessingStatus.ContextAddedButRequiresConfig) { throw new Exception(string.Format("{0} {1}", CodeGenerators.Mvc.MessageStrings.ScaffoldingSuccessful_unregistered, CodeGenerators.Mvc.MessageStrings.Scaffolding_additionalSteps)); } }
public override async Task Generate(CommandLineGeneratorModel controllerGeneratorModel) { Contract.Assert(!String.IsNullOrEmpty(controllerGeneratorModel.ModelClass)); string outputPath = ValidateAndGetOutputPath(controllerGeneratorModel); var modelTypeAndContextModel = await ValidateModelAndGetMetadata(controllerGeneratorModel); if (string.IsNullOrEmpty(controllerGeneratorModel.ControllerName)) { //Todo: Pluralize model name controllerGeneratorModel.ControllerName = modelTypeAndContextModel.ModelType.Name + Constants.ControllerSuffix; } var templateModel = new ControllerWithContextTemplateModel(modelTypeAndContextModel.ModelType, modelTypeAndContextModel.DbContextFullName) { ControllerName = controllerGeneratorModel.ControllerName, AreaName = string.Empty, //ToDo UseAsync = controllerGeneratorModel.UseAsync, ControllerNamespace = GetControllerNamespace(), ModelMetadata = modelTypeAndContextModel.ContextProcessingResult.ModelMetadata }; await CodeGeneratorActionsService.AddFileFromTemplateAsync(outputPath, GetTemplateName(controllerGeneratorModel), TemplateFolders, templateModel); Logger.LogMessage("Added Controller : " + outputPath.Substring(ApplicationEnvironment.ApplicationBasePath.Length)); await GenerateViewsIfRequired(controllerGeneratorModel, modelTypeAndContextModel, templateModel.ControllerRootName); if (modelTypeAndContextModel.ContextProcessingResult.ContextProcessingStatus == ContextProcessingStatus.ContextAddedButRequiresConfig) { throw new Exception("Scaffolding generated all the code but the new context created could be registered using dependency injection." + "There may be additional steps required for the generated code to work. Refer to <forward-link>"); } }
public override async Task Generate(CommandLineGeneratorModel controllerGeneratorModel) { Contract.Assert(!String.IsNullOrEmpty(controllerGeneratorModel.ModelClass)); string outputPath = ValidateAndGetOutputPath(controllerGeneratorModel); var modelTypeAndContextModel = await ValidateModelAndGetMetadata(controllerGeneratorModel); if (string.IsNullOrEmpty(controllerGeneratorModel.ControllerName)) { //Todo: Pluralize model name controllerGeneratorModel.ControllerName = modelTypeAndContextModel.ModelType.Name + Constants.ControllerSuffix; } var templateModel = new ControllerWithContextTemplateModel(modelTypeAndContextModel.ModelType, modelTypeAndContextModel.DbContextFullName) { ControllerName = controllerGeneratorModel.ControllerName, AreaName = string.Empty, //ToDo UseAsync = controllerGeneratorModel.UseAsync, ControllerNamespace = GetControllerNamespace(), ModelMetadata = modelTypeAndContextModel.ContextProcessingResult.ModelMetadata }; await CodeGeneratorActionsService.AddFileFromTemplateAsync(outputPath, GetTemplateName(controllerGeneratorModel), TemplateFolders, templateModel); Logger.LogMessage("Added Controller : " + outputPath.Substring(ApplicationEnvironment.ApplicationBasePath.Length)); await GenerateViewsIfRequired(controllerGeneratorModel, modelTypeAndContextModel, templateModel.ControllerRootName); if (modelTypeAndContextModel.ContextProcessingResult.ContextProcessingStatus == ContextProcessingStatus.ContextAddedButRequiresConfig) { throw new Exception("Scaffolding generated all the code but the new context created could be registered using dependency injection." + "There may be additional steps required for the generated code to work. Refer to <forward-link>"); } }
public override async Task Generate(CommandLineGeneratorModel controllerGeneratorModel) { Contract.Assert(!String.IsNullOrEmpty(controllerGeneratorModel.ModelClass)); string outputPath = ValidateAndGetOutputPath(controllerGeneratorModel); var modelTypeAndContextModel = await ValidateModelAndGetMetadata(controllerGeneratorModel); if (string.IsNullOrEmpty(controllerGeneratorModel.ControllerName)) { //Todo: Pluralize model name controllerGeneratorModel.ControllerName = modelTypeAndContextModel.ModelType.Name + Constants.ControllerSuffix; } var templateModel = new ControllerWithContextTemplateModel(modelTypeAndContextModel.ModelType, modelTypeAndContextModel.DbContextFullName) { ControllerName = controllerGeneratorModel.ControllerName, AreaName = string.Empty, //ToDo UseAsync = controllerGeneratorModel.UseAsync, ControllerNamespace = GetControllerNamespace(), ModelMetadata = modelTypeAndContextModel.ContextProcessingResult.ModelMetadata }; await CodeGeneratorActionsService.AddFileFromTemplateAsync(outputPath, GetTemplateName(controllerGeneratorModel), TemplateFolders, templateModel); Logger.LogMessage("Added Controller : " + outputPath.Substring(ApplicationEnvironment.ApplicationBasePath.Length)); await GenerateViewsIfRequired(controllerGeneratorModel, modelTypeAndContextModel, templateModel.ControllerRootName); if (modelTypeAndContextModel.ContextProcessingResult.ContextProcessingStatus == ContextProcessingStatus.ContextAddedButRequiresConfig) { throw new Exception(string.Format("{0} {1}" ,CodeGenerators.Mvc.MessageStrings.ScaffoldingSuccessful_unregistered, CodeGenerators.Mvc.MessageStrings.Scaffolding_additionalSteps)); } }