/// <summary> /// Build Master Builder Api Shared Project /// </summary> public async Task <string> RunAsync(BuilderSettings builderSettings, Request.Project project, SolutionWriter solutionWriter, string solutionDirectory, SourceControl.Git git, SourceControl.Models.GetRepository repository) { var apiProjectDirectory = FileHelper.CreateFolder(solutionDirectory, $"{project.InternalName}.Services"); solutionWriter.SetProjectDirectory(apiProjectDirectory); var errors = await solutionWriter.WriteAndClean(); if (!string.IsNullOrEmpty(errors)) { return(errors); } return(null); }
/// <summary> /// Build Master Builder Api Custom Project /// </summary> public async Task <string> RunAsync(BuilderSettings builderSettings, Request.Project project, SolutionWriter solutionWriter, string solutionDirectory, SourceControl.Git git, SourceControl.Models.GetRepository repository) { var apiProjectDirectory = FileHelper.CreateFolder(solutionDirectory, $"{project.InternalName}.Api.Custom"); if (!FileHelper.IsDirectoryEmpty(apiProjectDirectory)) { // If directory exists then skip this project, user can do what ever they want here return(null); } solutionWriter.SetProjectDirectory(apiProjectDirectory); // Create Project Files solutionWriter.AddTemplate(new ProjectFiles.ProjectTemplate(project)); // Extension Point solutionWriter.AddTemplate(new ProjectFiles.ExtensionPointTemplate(project)); var errors = await solutionWriter.WriteAndClean(); if (!string.IsNullOrEmpty(errors)) { return(errors); } return(null); }
/// <summary> /// Run /// </summary> public async Task <string> RunAsync(BuilderSettings builderSettings, Request.Project project, Helpers.SolutionWriter solutionWriter, string solutionDirectory, SourceControl.Git git, SourceControl.Models.GetRepository repository) { var dalProjectDirectory = FileHelper.CreateFolder(solutionDirectory, $"{project.InternalName}.DataAccessLayer"); solutionWriter.SetProjectDirectory(dalProjectDirectory); // Project Files solutionWriter.AddTemplate(new ProjectFiles.ProjectTemplate(project)); solutionWriter.AddTemplate(new ProjectFiles.SettingsTemplate(project)); // Entites solutionWriter.AddTemplate(new Entities.EntityTemplateBuilder(project)); solutionWriter.AddTemplate(new ProjectFiles.DatabaseContextTemplate(project)); solutionWriter.AddTemplate(new ProjectFiles.ApplicationDbContextTemplate(project)); solutionWriter.AddTemplate(new ProjectFiles.IApplicationDbContextTemplate(project)); // Models solutionWriter.AddTemplate(new Models.ModelTemplateBuilder(project)); // Extensions solutionWriter.AddTemplate(new Extensions.ExtensionsTemplateBuilder(project)); solutionWriter.AddTemplate(new Services.ServiceTemplateBuilder(project)); var errors = await solutionWriter.WriteAndClean(); if (!string.IsNullOrEmpty(errors)) { return(errors); } return(null); }
/// <summary> /// Build Master Builder Api Project /// </summary> public async Task <string> RunAsync(BuilderSettings builderSettings, Request.Project project, SolutionWriter solutionWriter, string solutionDirectory, SourceControl.Git git, SourceControl.Models.GetRepository repository) { var apiProjectDirectory = FileHelper.CreateFolder(solutionDirectory, $"{project.InternalName}.Api"); solutionWriter.SetProjectDirectory(apiProjectDirectory); // Create Project Files solutionWriter.AddTemplate(new ProjectFiles.ProjectTemplate(project)); solutionWriter.AddTemplate(new ProjectFiles.WebConfigTemplate()); solutionWriter.AddTemplate(new ProjectFiles.NuGetconfigTemplate(project)); // Controllers solutionWriter.AddTemplate(new Controllers.ControllerTemplateBuilder(project)); // Services solutionWriter.AddTemplate(new Services.ServiceTemplateBuilder(project)); // Services/Contracts solutionWriter.AddTemplate(new Services.Contracts.ServiceContractTemplateBuilder(project)); // Create Project Files solutionWriter.AddTemplate(new ProjectFiles.ProjectTemplate(project)); // Models/Export solutionWriter.AddTemplate(new Models.Export.ModelTemplateBuilder(project)); var errors = await solutionWriter.WriteAndClean(); if (!string.IsNullOrEmpty(errors)) { return(errors); } return(null); }