/// <summary> /// 生成控制器 /// </summary> /// <param name="metadata"></param> /// <returns></returns> public CodeData GenerateController(ProjectMetadata metadata) { var template = GetTemplateCode(metadata, CodeType.Controller); var code = new CodeData() { SourceCode = template, FileName = $"{metadata.EntityMetadata.EntityName}Controller.cs" }; return(code); }
/// <summary> /// 创建分页Dto代码 /// </summary> /// <param name="metadata"></param> /// <returns></returns> public CodeData GeneratePageDtoCode(ProjectMetadata metadata) { var template = GetTemplateCode(metadata, CodeType.PageListDto); var code = new CodeData() { SourceCode = template, FileName = $"Dtos/{metadata.EntityMetadata.EntityName}PageListDto.cs" }; return(code); }
public CodeData GenerateServiceImpl(ProjectMetadata metadata) { var template = GetTemplateCode(metadata, CodeType.ServiceImpl); var code = new CodeData() { SourceCode = template, FileName = $"Services/{metadata.EntityMetadata.EntityName}Service.cs" }; return(code); }
/// <summary> /// 生成实体配置代码 /// </summary> /// <param name="metadata">元数据</param> /// <returns></returns> public CodeData GenerateEntityConfigurationCode(ProjectMetadata metadata) { var template = GetTemplateCode(metadata, CodeType.EntityConfiguration); var code = new CodeData() { SourceCode = template, FileName = $"EntityConfigurations/{metadata.EntityMetadata.EntityName}Configuration.cs" }; return(code); }
/// <summary> /// 得到模版 /// </summary> /// <param name="metadata"></param> /// <param name="codeType"></param> /// <returns></returns> private string GetTemplateCode(ProjectMetadata metadata, CodeType codeType) { string template = GetInternalTemplate(codeType); var key = GetKey(codeType, template); ITemplateServiceConfiguration configuration = new TemplateServiceConfiguration() { Language = Language.CSharp, //EncodedStringFactory = new RawStringFactory(), Debug = true }; IRazorEngineService service = RazorEngineService.Create(configuration); return(service.RunCompile(template, key, metadata.GetType(), metadata)); }