예제 #1
0
        internal static void ScaffoldRequestsExtensions(this AspNetCoreProject project)
        {
            foreach (var table in project.Database.Tables)
            {
                var classDefinition = project.GetRequestExtensionsClassDefinition(table);

                CSharpClassBuilder.CreateFiles(project.OutputDirectory, project.AspNetCoreProjectNamespaces.Requests, project.GlobalSelection().Settings.ForceOverwrite, classDefinition);
            }
        }
예제 #2
0
        public static AspNetCoreProject ScaffoldAspNetCore(this AspNetCoreProject aspNetCoreProject)
        {
            aspNetCoreProject.ScaffoldResponses();
            aspNetCoreProject.ScaffoldResponsesExtensions();
            aspNetCoreProject.ScaffoldRequests();
            aspNetCoreProject.ScaffoldRequestsExtensions();
            aspNetCoreProject.ScaffoldReadMe();

            foreach (var feature in aspNetCoreProject.Features)
            {
                CSharpClassBuilder.CreateFiles(aspNetCoreProject.OutputDirectory, aspNetCoreProject.AspNetCoreProjectNamespaces.Controllers, aspNetCoreProject.GlobalSelection().Settings.ForceOverwrite, feature.GetControllerClassDefinition());
            }

            return(aspNetCoreProject);
        }
예제 #3
0
        public static AspNetCoreProject ScaffoldAspNetCore(this EntityFrameworkCoreProject entityFrameworkProject, string name, string outputDirectory, Database database)
        {
            var aspNetCoreProject = new AspNetCoreProject
            {
                Name            = name,
                OutputDirectory = outputDirectory,
                Database        = database
            };

            aspNetCoreProject.BuildFeatures();

            foreach (var selection in entityFrameworkProject.Selections)
            {
                aspNetCoreProject.Selections.Add(new ProjectSelection <AspNetCoreProjectSettings>
                {
                    Pattern  = selection.Pattern,
                    Settings = new AspNetCoreProjectSettings
                    {
                        ForceOverwrite   = selection.Settings.ForceOverwrite,
                        UseLogger        = true,
                        ConcurrencyToken = selection.Settings.ConcurrencyToken,
                        AuditEntity      = selection.Settings.AuditEntity == null ? null : new AuditEntity
                        {
                            CreationUserColumnName       = selection.Settings.AuditEntity.CreationUserColumnName,
                            CreationDateTimeColumnName   = selection.Settings.AuditEntity.CreationDateTimeColumnName,
                            LastUpdateUserColumnName     = selection.Settings.AuditEntity.LastUpdateUserColumnName,
                            LastUpdateDateTimeColumnName = selection.Settings.AuditEntity.LastUpdateDateTimeColumnName
                        },
                        EntitiesWithDataContracts = selection.Settings.EntitiesWithDataContracts
                    }
                });
            }

            aspNetCoreProject.ScaffoldResponses();
            aspNetCoreProject.ScaffoldResponsesExtensions();
            aspNetCoreProject.ScaffoldRequestModels();
            aspNetCoreProject.ScaffoldRequestModelsExtensions();
            aspNetCoreProject.ScaffoldReadMe();

            foreach (var feature in aspNetCoreProject.Features)
            {
                CSharpClassBuilder.CreateFiles(aspNetCoreProject.OutputDirectory, "Controllers", aspNetCoreProject.GlobalSelection().Settings.ForceOverwrite, feature.GetControllerClassDefinition());
            }

            return(aspNetCoreProject);
        }
예제 #4
0
        internal static void ScaffoldResponses(this AspNetCoreProject project)
        {
            var globalSelection = project.GlobalSelection();

            CSharpInterfaceBuilder.CreateFiles(project.OutputDirectory, "Responses", globalSelection.Settings.ForceOverwrite,
                                               project.GetResponseInterfaceDefinition(),
                                               project.GetSingleResponseInterfaceDefinition(),
                                               project.GetListResponseInterfaceDefinition(),
                                               project.GetPagedResponseInterfaceDefinition()
                                               );

            CSharpClassBuilder.CreateFiles(project.OutputDirectory, "Responses", globalSelection.Settings.ForceOverwrite,
                                           project.GetSingleResponseClassDefinition(),
                                           project.GetListResponseClassDefinition(),
                                           project.GetPagedResponseClassDefinition()
                                           );
        }
예제 #5
0
 internal static void ScaffoldResponsesExtensions(this AspNetCoreProject project)
 {
     CSharpClassBuilder.CreateFiles(project.OutputDirectory, project.AspNetCoreProjectNamespaces.Responses, project.GlobalSelection().Settings.ForceOverwrite, project.GetResponsesExtensionsClassDefinition());
 }
예제 #6
0
        internal static void ScaffoldRequestModelsExtensions(this AspNetCoreProject project)
        {
            var classDefinition = project.GetRequestModelExtensionsClassDefinition();

            CSharpClassBuilder.CreateFiles(project.OutputDirectory, "RequestModels", project.GlobalSelection().Settings.ForceOverwrite, classDefinition);
        }