Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }