完善代码生成器自动生成目录

This commit is contained in:
橙子
2023-01-03 21:03:07 +08:00
parent 62c5470efe
commit 03dcb7d860
6 changed files with 52 additions and 6 deletions

View File

@@ -51,6 +51,10 @@ namespace Yi.Framework.Template.Abstract
{
templateData = templateData.Replace(ky.Key, ky.Value);
}
if (!Directory.Exists(Path.GetDirectoryName(BuildPath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(BuildPath)!);
}
File.WriteAllText(BuildPath, templateData);
}

View File

@@ -11,7 +11,7 @@ string entityName = "Test";
templateFactory.CreateTemplateProviders((option) =>
{
option.Add(new ServceTemplateProvider(modelName, entityName));
option.Add(new IServceTemplateProvider(modelName, entityName));
});
//开始构建模板

View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Template.Abstract;
using Yi.Framework.Template.Const;
namespace Yi.Framework.Template.Provider
{
public class IServceTemplateProvider : ProgramTemplateProvider
{
public IServceTemplateProvider(string modelName, string entityName) : base( modelName,entityName)
{
BuildPath = $@"..\..\..\Code\Yi.Framework.Interface\{TemplateConst.ModelName}\I{TemplateConst.EntityName}Service.cs";
TemplatePath = $@"..\..\..\Template\IServiceTemplate.txt";
}
}
}

View File

@@ -12,9 +12,8 @@ namespace Yi.Framework.Template.Provider
{
public ServceTemplateProvider(string modelName, string entityName) : base( modelName,entityName)
{
BuildPath = $@"D:\CC.Yi\CC.Yi\Yi.Framework.Net6\Yi.Framework.Template\Code\{TemplateConst.EntityName}Entity.cs";
TemplatePath = $@"D:\CC.Yi\CC.Yi\Yi.Framework.Net6\Yi.Framework.Template\Template\ServiceTemplate.txt";
AddTemplateDic("Yi.Framework", "Yi.Test");
BuildPath = $@"..\..\..\Code\Yi.Framework.Service\{TemplateConst.ModelName}\{TemplateConst.EntityName}Service.cs";
TemplatePath = $@"..\..\..\Template\ServiceTemplate.txt";
}
}
}

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Common.Models;
using Yi.Framework.DtoModel.#ModelName#.#EntityName#;
using Yi.Framework.Interface.Base.Crud;
namespace Yi.Framework.Interface.#ModelName#
{
public interface I#EntityName#Service : ICrudAppService<#EntityName#GetListOutput, long, #EntityName#CreateUpdateInput>
{
Task<PageModel<List<#EntityName#GetListOutput>>> PageListAsync(#EntityName#CreateUpdateInput input, PageParModel page);
}
}

View File

@@ -12,8 +12,16 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Template\" />
<Folder Include="Code\" />
<Folder Include="Const\" />
</ItemGroup>
<ItemGroup>
<None Update="Template\IServiceTemplate.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Template\ServiceTemplate.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>