diff --git a/.gitignore b/.gitignore
index cf45d66..7628db6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -221,7 +221,7 @@ ClientBin/
*.publishsettings
orleans.codegen.cs
-# Including strong name files can present a security risk
+# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
@@ -317,7 +317,7 @@ __pycache__/
# OpenCover UI analysis results
OpenCover/
-# Azure Stream Analytics local run output
+# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
@@ -326,7 +326,8 @@ ASALocalRun/
# NVidia Nsight GPU debugger configuration file
*.nvuser
-# MFractors (Xamarin productivity tool) working folder
+# MFractors (Xamarin productivity tool) working folder
.mfractor/
/.vscode/tasks.json
/.vscode/launch.json
+.DS_Store
diff --git a/README-EN.md b/README-EN.md
index 99ceae7..2968f97 100644
--- a/README-EN.md
+++ b/README-EN.md
@@ -58,8 +58,8 @@ Output:
Type: File
Path: 'E:\SmartSql-Starter'
Parameters:
- SmartSqlVersion: '4.0.46'
- SmartSqlSchemaVersion: '4.0.42'
+ SmartSqlVersion: '4.1.64'
+ SmartSqlSchemaVersion: '4.1.30'
BuildDir: 'E:\SmartSql-Starter\build'
DockerImage: 'smartsql.starter'
@@ -127,7 +127,7 @@ Build:
{Key: "API/AppSettings.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'appsettings',Extension: '.json'}},
{Key: "API/AppSettings-Development.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'appsettings.Development',Extension: '.json'}},
{Key: "API/Program.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Program',Extension: '.cs'}},
- {Key: "API/Startup.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Startup',Extension: '.cs'}},
+ # {Key: "API/Startup.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Startup',Extension: '.cs'}},
{Key: "API/APIException.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Exceptions',Name: 'APIException',Extension: '.cs'}},
{Key: "API/GlobalExceptionFilter.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Filters',Name: 'GlobalExceptionFilter',Extension: '.cs'}},
{Key: "API/GlobalValidateModelFilter.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Filters',Name: 'GlobalValidateModelFilter',Extension: '.cs'}},
@@ -197,6 +197,34 @@ Build:
IgnoreNoPKTable: true
IgnoreView: true
+ AddEntityProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Entity/{{Project.Module}}.Entity.csproj
+
+ AddRepositryProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Repository/{{Project.Module}}.Repository.csproj
+
+ AddServiceProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Service/{{Project.Module}}.Service.csproj
+
+ AddApiProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.API/{{Project.Module}}.API.csproj
+
# Please install dotnet-format first!
# dotnet tool install -g dotnet-format
CodeFormat:
@@ -261,7 +289,7 @@ Build:
| Author | Author |
| DataSource | Data Source |
| Language | Language: CSharp/Java/.... |
-| TemplateEngine | Template Engine: Currently Built: Razor/Handlebars |
+| TemplateEngine | Template Engine: Currently Built: Razor |
| Output | Output |
| Build | Task Build |
@@ -358,4 +386,4 @@ Build:
,{Column: Deleted,Mapping: deleted}]
PreCommand:
PostCommand:
-```
\ No newline at end of file
+```
diff --git a/README.md b/README.md
index 01b8440..8fabaf4 100644
--- a/README.md
+++ b/README.md
@@ -58,8 +58,8 @@ Output:
Type: File
Path: 'E:\SmartSql-Starter'
Parameters:
- SmartSqlVersion: '4.0.46'
- SmartSqlSchemaVersion: '4.0.42'
+ SmartSqlVersion: '4.1.64'
+ SmartSqlSchemaVersion: '4.1.30'
BuildDir: 'E:\SmartSql-Starter\build'
DockerImage: 'smartsql.starter'
@@ -127,7 +127,7 @@ Build:
{Key: "API/AppSettings.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'appsettings',Extension: '.json'}},
{Key: "API/AppSettings-Development.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'appsettings.Development',Extension: '.json'}},
{Key: "API/Program.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Program',Extension: '.cs'}},
- {Key: "API/Startup.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Startup',Extension: '.cs'}},
+ # {Key: "API/Startup.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Startup',Extension: '.cs'}},
{Key: "API/APIException.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Exceptions',Name: 'APIException',Extension: '.cs'}},
{Key: "API/GlobalExceptionFilter.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Filters',Name: 'GlobalExceptionFilter',Extension: '.cs'}},
{Key: "API/GlobalValidateModelFilter.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Filters',Name: 'GlobalValidateModelFilter',Extension: '.cs'}},
@@ -197,6 +197,34 @@ Build:
IgnoreNoPKTable: true
IgnoreView: true
+ AddEntityProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Entity/{{Project.Module}}.Entity.csproj
+
+ AddRepositryProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Repository/{{Project.Module}}.Repository.csproj
+
+ AddServiceProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Service/{{Project.Module}}.Service.csproj
+
+ AddApiProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.API/{{Project.Module}}.API.csproj
+
# Please install dotnet-format first!
# dotnet tool install -g dotnet-format
CodeFormat:
@@ -261,7 +289,7 @@ Build:
| Author | 作者 |
| DataSource | 数据源 |
| Language | 语言:CSharp/Java/.... |
-| TemplateEngine | 模板引擎:目前内置:Razor/Handlebars |
+| TemplateEngine | 模板引擎:目前内置:Razor |
| Output | 输出 |
| Build | 任务构建s |
@@ -368,4 +396,4 @@ Build:
,{Column: Deleted,Mapping: deleted}]
PreCommand:
PostCommand:
-```
\ No newline at end of file
+```
diff --git a/build/version.props b/build/version.props
index 8e0c968..8887306 100644
--- a/build/version.props
+++ b/build/version.props
@@ -1,8 +1,8 @@
- 2
- 3
- 6
+ 3
+ 0
+ 1
$(VersionMajor).$(VersionMinor).$(VersionPatch)
diff --git a/doc/SmartCode-TypeScript.yml b/doc/SmartCode-TypeScript.yml
index 3a3e3d8..e41d3cf 100644
--- a/doc/SmartCode-TypeScript.yml
+++ b/doc/SmartCode-TypeScript.yml
@@ -59,6 +59,7 @@ Build:
Type: Table
Module: Data
TemplateEngine:
+ Name: RazorCore
Path: Model.cshtml
Output:
Path: '{{Items.CurrentTable.Name}}/services'
diff --git a/doc/SmartCode.ETL-EN.md b/doc/SmartCode.ETL-EN.md
index 587751a..ce51be1 100644
--- a/doc/SmartCode.ETL-EN.md
+++ b/doc/SmartCode.ETL-EN.md
@@ -84,11 +84,7 @@ I believe that many students who have already landed the microservices architect
},
{
"Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
- "ImplType": "SmartCode.TemplateEngine.Impl.HandlebarsTemplateEngine,SmartCode.TemplateEngine"
- },
- {
- "Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
- "ImplType": "SmartCode.TemplateEngine.Impl.OfficialRazorTemplateEngine,SmartCode.TemplateEngine"
+ "ImplType": "SmartCode.TemplateEngine.Impl.RazorCoreTemplateEngine,SmartCode.TemplateEngine"
},
{
"Type": "SmartCode.Generator.IDbTypeConverter,SmartCode.Generator",
@@ -274,4 +270,4 @@ The following is the data loading performance, the amount of bulk insert data is
At present, SmartCode.ETL has been put into our production environment (2018-11-01 went online, as of 2018-11-16 16:50 executed 65520 synchronization tasks, no error log was thrown
)
-> PS: Although SmartCode.ETL only took two days to complete the expansion on the weekend, it can already meet at least 90% of our application scenarios. This is enough to see how amazing the SmartCode expansion capabilities are. Of course, other capabilities of SmartCode have to be followed up and explored! ! !
\ No newline at end of file
+> PS: Although SmartCode.ETL only took two days to complete the expansion on the weekend, it can already meet at least 90% of our application scenarios. This is enough to see how amazing the SmartCode expansion capabilities are. Of course, other capabilities of SmartCode have to be followed up and explored! ! !
diff --git a/doc/SmartCode.ETL.md b/doc/SmartCode.ETL.md
index 22475c5..9d2a240 100644
--- a/doc/SmartCode.ETL.md
+++ b/doc/SmartCode.ETL.md
@@ -84,11 +84,7 @@
},
{
"Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
- "ImplType": "SmartCode.TemplateEngine.Impl.HandlebarsTemplateEngine,SmartCode.TemplateEngine"
- },
- {
- "Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
- "ImplType": "SmartCode.TemplateEngine.Impl.OfficialRazorTemplateEngine,SmartCode.TemplateEngine"
+ "ImplType": "SmartCode.TemplateEngine.Impl.RazorCoreTemplateEngine,SmartCode.TemplateEngine"
},
{
"Type": "SmartCode.Generator.IDbTypeConverter,SmartCode.Generator",
@@ -274,4 +270,4 @@ LastMaxModifyTime 即上一次抽取的数据最大ModifyTime值(第一次抽取
目前 SmartCode.ETL 已经落地到我们的生产环境了(11-01上线截至 2018-11-16 16:50 执行了 65520 次同步任务,暂无error日志抛出)
-> PS: 虽然 SmartCode.ETL 只花了周末俩天时间完成扩展,但已经可以满足我们至少90%的应用场景。这足以见得 SmartCode 扩展能力是多么令人意外了。当然SmartCode的其他能力还得后续等各位一起发掘!!!
\ No newline at end of file
+> PS: 虽然 SmartCode.ETL 只花了周末俩天时间完成扩展,但已经可以满足我们至少90%的应用场景。这足以见得 SmartCode 扩展能力是多么令人意外了。当然SmartCode的其他能力还得后续等各位一起发掘!!!
diff --git a/doc/SmartCode.yml b/doc/SmartCode.yml
index 6cd9397..cc2c2af 100644
--- a/doc/SmartCode.yml
+++ b/doc/SmartCode.yml
@@ -14,7 +14,7 @@ Output:
Type: File
Path: 'D:\SmartSql-Starter'
Parameters:
- SmartSqlVersion: '4.1.42'
+ SmartSqlVersion: '4.1.64'
SmartSqlSchemaVersion: '4.1.30'
BuildDir: 'D:\SmartSql-Starter\build'
DockerImage: 'smartsql.starter'
@@ -87,7 +87,7 @@ Build:
{Key: "API/AppSettings.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'appsettings',Extension: '.json'}},
{Key: "API/AppSettings-Development.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'appsettings.Development',Extension: '.json'}},
{Key: "API/Program.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Program',Extension: '.cs'}},
- {Key: "API/Startup.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Startup',Extension: '.cs'}},
+ # {Key: "API/Startup.cshtml",Output: {Path: 'src/{{Project.Module}}.API',Name: 'Startup',Extension: '.cs'}},
{Key: "API/APIException.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Exceptions',Name: 'APIException',Extension: '.cs'}},
{Key: "API/GlobalExceptionFilter.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Filters',Name: 'GlobalExceptionFilter',Extension: '.cs'}},
{Key: "API/GlobalValidateModelFilter.cshtml",Output: {Path: 'src/{{Project.Module}}.API/Filters',Name: 'GlobalValidateModelFilter',Extension: '.cs'}},
@@ -151,6 +151,34 @@ Build:
Name: '{{Items.CurrentTable.ConvertedName}}'
Extension: .xml
+ AddEntityProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Entity/{{Project.Module}}.Entity.csproj
+
+ AddRepositryProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Repository/{{Project.Module}}.Repository.csproj
+
+ AddServiceProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.Service/{{Project.Module}}.Service.csproj
+
+ AddApiProj:
+ Type: Process
+ Parameters:
+ FileName: powershell
+ WorkingDirectory: '{{Project.Output.Path}}'
+ Args: dotnet sln add -s API src/{{Project.Module}}.API/{{Project.Module}}.API.csproj
+
# Please install dotnet-format first!
# dotnet tool install -g dotnet-format
CodeFormat:
diff --git a/doc/common-problem.md b/doc/common-problem.md
index 3f1dd88..b4974c8 100644
--- a/doc/common-problem.md
+++ b/doc/common-problem.md
@@ -67,11 +67,7 @@ SmartCode 插件机制拥有非常灵活的扩展能力,SmartCode 中一切都
},
{
"Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
- "ImplType": "SmartCode.TemplateEngine.Impl.HandlebarsTemplateEngine,SmartCode.TemplateEngine"
- },
- {
- "Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
- "ImplType": "SmartCode.TemplateEngine.Impl.OfficialRazorTemplateEngine,SmartCode.TemplateEngine"
+ "ImplType": "SmartCode.TemplateEngine.Impl.RazorCoreTemplateEngine,SmartCode.TemplateEngine"
},
{
"Type": "SmartCode.Generator.IDbTypeConverter,SmartCode.Generator",
@@ -111,9 +107,9 @@ SmartCode 插件机制拥有非常灵活的扩展能力,SmartCode 中一切都
## 如何自定义模板
-目前SmartCode支持俩种模板引擎 **Razor** & **Handlebars** 。
+目前SmartCode支持模板引擎 **Razor** 。
Razor 模板引擎使用的是官方版本,这一点上.NETer同学可以很轻松的自定义SmartCode模板,需要注意的是Razor模板的Model为BuildContext,具体方法可以参考源代码中的模板。编写完成之后放到RazorTemplates,构建时指定好即可。
## 代码生成器支持多少种数据库
-SmartCode获取数据源结构使用的是[SmartSql](https://github.com/Ahoo-Wang/SmartSql),所以SmartCode支持所有ADO.NET驱动相关的数据库:MySql/PostgreSql/SqlServer/Oracle/SQLite 等
\ No newline at end of file
+SmartCode获取数据源结构使用的是[SmartSql](https://github.com/Ahoo-Wang/SmartSql),所以SmartCode支持所有ADO.NET驱动相关的数据库:MySql/PostgreSql/SqlServer/Oracle/SQLite 等
diff --git a/src/SmartCode.App/SmartCode.App.csproj b/src/SmartCode.App/SmartCode.App.csproj
index 20c43c8..b26460d 100644
--- a/src/SmartCode.App/SmartCode.App.csproj
+++ b/src/SmartCode.App/SmartCode.App.csproj
@@ -1,11 +1,11 @@
- netstandard2.0
+ net6.0
-
-
+
+
diff --git a/src/SmartCode.App/SmartCodeApp.cs b/src/SmartCode.App/SmartCodeApp.cs
index 46c037a..fa9d254 100644
--- a/src/SmartCode.App/SmartCodeApp.cs
+++ b/src/SmartCode.App/SmartCodeApp.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Diagnostics;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
@@ -7,6 +8,7 @@
using System.IO;
using SmartCode.Configuration.ConfigBuilders;
using System.Reflection;
+using System.Text;
using HandlebarsDotNet;
using SmartCode.ETL;
using SmartCode.Generator;
@@ -136,6 +138,25 @@ public string Encode(string value)
{
return value;
}
+
+ public void Encode(StringBuilder text, TextWriter target)
+ {
+ target.Write(text.ToString());
+ }
+
+ public void Encode(string text, TextWriter target)
+ {
+ target.Write(text);
+ }
+
+ public void Encode(T text, TextWriter target) where T : IEnumerator
+ {
+ while (text.MoveNext())
+ {
+ target.Write(text.Current);
+ }
+ }
+
}
}
-}
\ No newline at end of file
+}
diff --git a/src/SmartCode.CLI/SmartCode.CLI.csproj b/src/SmartCode.CLI/SmartCode.CLI.csproj
index 5727544..dce4ae9 100644
--- a/src/SmartCode.CLI/SmartCode.CLI.csproj
+++ b/src/SmartCode.CLI/SmartCode.CLI.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp2.2
+ net6.0
true
true
SmartCode
@@ -14,11 +14,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/src/SmartCode.CLI/appsettings.json b/src/SmartCode.CLI/appsettings.json
index 9fe42b6..f3f491a 100644
--- a/src/SmartCode.CLI/appsettings.json
+++ b/src/SmartCode.CLI/appsettings.json
@@ -51,11 +51,7 @@
},
{
"Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
- "ImplType": "SmartCode.TemplateEngine.Impl.HandlebarsTemplateEngine,SmartCode.TemplateEngine"
- },
- {
- "Type": "SmartCode.TemplateEngine.ITemplateEngine,SmartCode.TemplateEngine",
- "ImplType": "SmartCode.TemplateEngine.Impl.OfficialRazorTemplateEngine,SmartCode.TemplateEngine"
+ "ImplType": "SmartCode.TemplateEngine.Impl.RazorCoreTemplateEngine,SmartCode.TemplateEngine"
},
{
"Type": "SmartCode.Generator.IDbTypeConverter,SmartCode.Generator",
@@ -100,7 +96,7 @@
"Type": "SmartCode.ETL.IETLTaskRepository,SmartCode.ETL",
"ImplType": "SmartCode.ETL.SQLite.SQLiteETLTaskRepository,SmartCode.ETL.SQLite",
"Parameters": {
- //"ConnectionString": "Data Source=YOUR_DB_DIR\smartcode-etl.db;Version=3;"
+ // "ConnectionString": "Data Source=YOUR_DB_DIR\smartcode-etl.db;Version=3;"
}
}
]
diff --git a/src/SmartCode.Db/SmartCode.Db.csproj b/src/SmartCode.Db/SmartCode.Db.csproj
index 6c40434..d25e983 100644
--- a/src/SmartCode.Db/SmartCode.Db.csproj
+++ b/src/SmartCode.Db/SmartCode.Db.csproj
@@ -1,18 +1,18 @@
- netstandard2.0
+ net6.0
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/SmartCode.ETL.LoadToES/LoadToESBuildTask.cs b/src/SmartCode.ETL.LoadToES/LoadToESBuildTask.cs
index 8133ba4..05929d4 100644
--- a/src/SmartCode.ETL.LoadToES/LoadToESBuildTask.cs
+++ b/src/SmartCode.ETL.LoadToES/LoadToESBuildTask.cs
@@ -80,7 +80,7 @@ public async Task Build(BuildContext context)
if (colMapping.TryGetValue(itemKey, out string mapping))
{
itemKey = mapping;
- }
+ }
}
newItem.Add(itemKey,item.Value);
}
@@ -90,16 +90,15 @@ public async Task Build(BuildContext context)
#endregion
#region BatchInsert
var esClient = GetElasticClient(esOptions);
- var indexExResp = await esClient.IndexExistsAsync(esOptions.Index);
+ var indexExResp = await esClient.Indices.ExistsAsync(esOptions.Index);
if (!indexExResp.Exists)
{
- var createIndexResp = await esClient.CreateIndexAsync(esOptions.Index);
+ var createIndexResp = await esClient.Indices.CreateAsync(esOptions.Index);
}
- var esSyncResp = await esClient.BulkAsync((bulkRequest) =>
- {
- var bulkReqDesc = bulkRequest
- .Index(esOptions.Index)
- .Type(esOptions.TypeName);
+ var esSyncResp = await esClient.BulkAsync((bulkRequest) => {
+ var bulkReqDesc = bulkRequest
+ .Index(esOptions.Index);
+ // .Type(esOptions.TypeName);
if (context.Build.Parameters.Value(ID_MAPPING, out string es_id))
{
return bulkReqDesc.IndexMany(dataSource.TransformData, (bulkIdxDesc, item) =>
@@ -150,7 +149,7 @@ private IElasticClient GetElasticClient(ESOptions esOptions)
Uri node = new Uri(esOptions.Host);
ConnectionSettings settings = new ConnectionSettings(node);
settings.DefaultIndex(esOptions.Index);
- settings.DefaultTypeName(esOptions.TypeName);
+ // settings.DefaultTypeName(esOptions.TypeName);
#region Auth
if (!String.IsNullOrEmpty(esOptions.UserName))
{
diff --git a/src/SmartCode.ETL.LoadToES/SmartCode.ETL.LoadToES.csproj b/src/SmartCode.ETL.LoadToES/SmartCode.ETL.LoadToES.csproj
index db96e9a..fa8222a 100644
--- a/src/SmartCode.ETL.LoadToES/SmartCode.ETL.LoadToES.csproj
+++ b/src/SmartCode.ETL.LoadToES/SmartCode.ETL.LoadToES.csproj
@@ -1,11 +1,11 @@
- netstandard2.0
+ net6.0
-
+
diff --git a/src/SmartCode.ETL.PostgreSql/SmartCode.ETL.PostgreSql.csproj b/src/SmartCode.ETL.PostgreSql/SmartCode.ETL.PostgreSql.csproj
index 2e746e5..140966c 100644
--- a/src/SmartCode.ETL.PostgreSql/SmartCode.ETL.PostgreSql.csproj
+++ b/src/SmartCode.ETL.PostgreSql/SmartCode.ETL.PostgreSql.csproj
@@ -1,7 +1,7 @@
- netstandard2.0
+ net6.0
diff --git a/src/SmartCode.ETL.SQLite/SmartCode.ETL.SQLite.csproj b/src/SmartCode.ETL.SQLite/SmartCode.ETL.SQLite.csproj
index 43d8d41..8a37050 100644
--- a/src/SmartCode.ETL.SQLite/SmartCode.ETL.SQLite.csproj
+++ b/src/SmartCode.ETL.SQLite/SmartCode.ETL.SQLite.csproj
@@ -1,11 +1,11 @@
- netstandard2.0
+ net6.0
-
+
diff --git a/src/SmartCode.ETL/SmartCode.ETL.csproj b/src/SmartCode.ETL/SmartCode.ETL.csproj
index 8da3559..7dd483f 100644
--- a/src/SmartCode.ETL/SmartCode.ETL.csproj
+++ b/src/SmartCode.ETL/SmartCode.ETL.csproj
@@ -1,13 +1,13 @@
- netstandard2.0
+ net6.0
-
-
-
+
+
+
diff --git a/src/SmartCode.ETL/TransformEngine/RazorTransformEngine.cs b/src/SmartCode.ETL/TransformEngine/RazorTransformEngine.cs
index 30cad9c..2711379 100644
--- a/src/SmartCode.ETL/TransformEngine/RazorTransformEngine.cs
+++ b/src/SmartCode.ETL/TransformEngine/RazorTransformEngine.cs
@@ -1,17 +1,8 @@
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Hosting.Internal;
-using Microsoft.AspNetCore.Mvc.Razor;
-using Microsoft.AspNetCore.Razor.TagHelpers;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.FileProviders;
-using Microsoft.Extensions.ObjectPool;
+using Microsoft.Extensions.DependencyInjection;
using SmartCode.TemplateEngine.Impl;
using SmartCode.Utilities;
using System;
using System.Collections.Generic;
-using System.Diagnostics;
-using System.Reflection;
-using System.Text.Encodings.Web;
using System.Threading.Tasks;
namespace SmartCode.ETL.TransformEngine
@@ -23,18 +14,14 @@ public async Task Transform(BuildContext context)
{
if (context.Build.Parameters.Value(SCRIPT, out string script) && !String.IsNullOrEmpty(script))
{
- using (var serviceScope = _scopeFactory.CreateScope())
- {
- var helper = serviceScope.ServiceProvider.GetRequiredService();
- await helper.RenderViewToStringAsync(script, context);
- }
+ await RazorCoreHelper.CompileAndRunAsync(script, context);
}
}
public bool Initialized { get; private set; }
public string Name { get; private set; } = "Razor";
private string _root = AppPath.Relative("TransformScripts");
- private IServiceScopeFactory _scopeFactory;
+
public void Initialize(IDictionary parameters)
{
Initialized = true;
@@ -49,46 +36,15 @@ public void Initialize(IDictionary parameters)
_root = root;
}
}
- InitializeServices();
}
public Task Render(BuildContext context)
{
- using (var serviceScope = _scopeFactory.CreateScope())
- {
- var helper = serviceScope.ServiceProvider.GetRequiredService();
- return helper.RenderViewToStringAsync(context.Build.TemplateEngine.FullPath, context);
- }
+ return RazorCoreHelper.CompileAndRunAsync(
+ context.Build.TemplateEngine.FullPath,
+ context
+ );
}
- private void InitializeServices()
- {
- var services = ConfigureDefaultServices();
- var serviceProvider = services.BuildServiceProvider();
- _scopeFactory = serviceProvider.GetRequiredService();
- }
- private IServiceCollection ConfigureDefaultServices()
- {
- var services = new ServiceCollection();
- IFileProvider fileProvider = new PhysicalFileProvider(_root);
- services.AddSingleton(new HostingEnvironment
- {
- ApplicationName = Assembly.GetEntryAssembly().GetName().Name,
- WebRootFileProvider = fileProvider,
- });
- services.AddSingleton(NullHtmlEncoder.Default);
- services.Configure(options =>
- {
- options.FileProviders.Clear();
- options.FileProviders.Add(fileProvider);
- });
- var diagnosticSource = new DiagnosticListener("Microsoft.AspNetCore");
- services.AddSingleton();
- services.AddSingleton(diagnosticSource);
- services.AddLogging();
- services.AddMvc();
- services.AddTransient();
- return services;
- }
}
}
diff --git a/src/SmartCode.ETL/TransformScripts/Load2PostgreSql.cshtml b/src/SmartCode.ETL/TransformScripts/Load2PostgreSql.cshtml
index 41ecb7d..5209687 100644
--- a/src/SmartCode.ETL/TransformScripts/Load2PostgreSql.cshtml
+++ b/src/SmartCode.ETL/TransformScripts/Load2PostgreSql.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.ETL;
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var dataSource = Model.GetExtractData();
}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/APIController.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/APIController.cshtml
index 8732f1a..bd71453 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/APIController.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/APIController.cshtml
@@ -1,8 +1,7 @@
@using SmartCode
@using SmartCode.Generator.Extensions
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
var table = Model.GetCurrentTable();
var pkType = table.PKColumn.LanguageType;
@@ -14,6 +13,7 @@
var repositoryName = $"{table.ConvertedName}Repository";
var repositoryCamelName = NamingUtil.CamelCase(repositoryName);
}
+@Include("../Copyright.cshtml", Model)
using System;
using System.Collections;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/APIException.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/APIException.cshtml
index f807c0c..92f0b83 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/APIException.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/APIException.cshtml
@@ -1,9 +1,9 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
using System;
using System.Collections.Generic;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/AppSettings-Development.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/AppSettings-Development.cshtml
index 0e7a6ec..059dbb4 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/AppSettings-Development.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/AppSettings-Development.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/AppSettings.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/AppSettings.cshtml
index b3b0d0b..8939b42 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/AppSettings.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/AppSettings.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/GlobalExceptionFilter.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/GlobalExceptionFilter.cshtml
index 3bf2674..334dce2 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/GlobalExceptionFilter.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/GlobalExceptionFilter.cshtml
@@ -1,58 +1,45 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.Filters;
-using Microsoft.Extensions.Logging;
+using System.Net;
using @(project.Module).API.Exceptions;
using @(project.Module).API.Messages;
-using System.Net;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.Filters;
namespace @(project.Module).API.Filters
{
public class GlobalExceptionFilter : IExceptionFilter
{
- private readonly IHostingEnvironment env;
private readonly ILogger@("") logger;
- public GlobalExceptionFilter(IHostingEnvironment env, ILogger@("") logger)
+ public GlobalExceptionFilter(ILogger@("") logger)
{
- this.env = env;
- this.logger = logger;
+ this.logger = logger;
}
public void OnException(ExceptionContext context)
{
- context.ExceptionHandled = true;
- var exception = context.Exception;
- logger.LogError(
- new EventId(exception.HResult),
- exception,
- exception.Message);
- string errorCode = "0001";
- if (exception is APIException) { errorCode = (exception as APIException).ErrorCode; }
- var errorResp = new ResponseMessage
- {
- Message = exception.Message,
- ErrorCode = errorCode,
- IsSuccess = false
- };
- var result = new JsonResult(errorResp)
- {
- StatusCode = (int)HttpStatusCode.OK
- };
- context.Result = result;
-
- }
+ context.ExceptionHandled = true;
+ var exception = context.Exception;
+ logger.LogError(new EventId(exception.HResult), exception, exception.Message);
+ string errorCode = "0001";
+ if (exception is APIException apiException) { errorCode = apiException.ErrorCode; }
+ var errorResp = new ResponseMessage
+ {
+ Message = exception.Message,
+ ErrorCode = errorCode,
+ IsSuccess = false
+ };
+ var result = new JsonResult(errorResp)
+ {
+ StatusCode = (int)HttpStatusCode.OK
+ };
+ context.Result = result;
}
- }
-
-
-
-
-
+ }
+}
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/GlobalValidateModelFilter.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/GlobalValidateModelFilter.cshtml
index 139cd69..230d808 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/GlobalValidateModelFilter.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/GlobalValidateModelFilter.cshtml
@@ -1,59 +1,54 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
-using Microsoft.AspNetCore.Hosting;
+using System.Text;
+using @(project.Module).API.Messages;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
-using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
-using @(project.Module).API.Messages;
-using System.Linq;
-using System.Text;
namespace @(project.Module).API.Filters
{
public class GlobalValidateModelFilter : IActionFilter
{
- private readonly IHostingEnvironment _env;
private readonly ILogger@("") _logger;
- public GlobalValidateModelFilter(IHostingEnvironment env, ILogger@("") logger)
+ public GlobalValidateModelFilter(ILogger@("") logger)
{
- _env = env;
- _logger = logger;
+ _logger = logger;
}
public void OnActionExecuted(ActionExecutedContext context)
{
}
-
+
public void OnActionExecuting(ActionExecutingContext context)
{
- if (!context.ModelState.IsValid)
- {
- _logger.LogDebug("ModelState not valid:{0}", JsonConvert.SerializeObject(context.ModelState));
- StringBuilder errStr = new StringBuilder();
-
- foreach (var error in context.ModelState.Values)
- {
- string errorMsg = error.Errors?.FirstOrDefault()?.ErrorMessage;
- errStr.AppendFormat("{0} |", errorMsg);
- }
-
- var resp = new ResponseMessage
- {
- ErrorCode = "0006",
- Message = errStr.ToString().TrimEnd('|'),
- IsSuccess = false
- };
-
- var result = new JsonResult(resp);
- context.Result = result;
- }
- }
- }
+ if (!context.ModelState.IsValid)
+ {
+ _logger.LogDebug("ModelState not valid:{0}", JsonConvert.SerializeObject(context.ModelState));
+ StringBuilder errStr = new StringBuilder();
+
+ foreach (var error in context.ModelState.Values)
+ {
+ string? errorMsg = error.Errors.FirstOrDefault()?.ErrorMessage;
+ errStr.AppendFormat("{0} |", errorMsg);
+ }
+
+ var resp = new ResponseMessage
+ {
+ ErrorCode = "0006",
+ Message = errStr.ToString().TrimEnd('|'),
+ IsSuccess = false
+ };
+
+ var result = new JsonResult(resp);
+ context.Result = result;
+ }
}
+ }
+}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/LaunchSettings.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/LaunchSettings.cshtml
index 68aa728..730d45e 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/LaunchSettings.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/LaunchSettings.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/Program.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/Program.cshtml
index 73ca2ff..427abaa 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/Program.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/Program.cshtml
@@ -1,37 +1,71 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Logging;
-
-namespace @(project.Module).API
-{
- public class Program
- {
- public static void Main(string[] args)
- {
- BuildWebHost(args).Run();
- }
-
- public static IWebHost BuildWebHost(string[] args)
- {
- var config = new ConfigurationBuilder()
- .AddCommandLine(args)
- .Build();
- return WebHost.CreateDefaultBuilder(args)
- .UseConfiguration(config)
- .UseStartup@("")().Build();
- }
- }
- }
+using System.Reflection;
+using @(project.Module).API.Filters;
+using Microsoft.OpenApi.Models;
+
+const string SERVICE_NAME = "@(project.Module).API";
+var builder = WebApplication.CreateBuilder(args);
+
+// Add services to the container.
+
+builder.Services.AddControllers(options =>
+{
+options.Filters.Add@("")();
+options.Filters.Add@("")();
+});
+// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
+builder.Services.AddEndpointsApiExplorer();
+
+builder.Services.AddSmartSql()
+.AddRepositoryFromAssembly(options =>
+{
+options.AssemblyString = "@(project.Module).Repository";
+});
+
+var assembly = Assembly.Load("@(project.Module).Service");
+var allTypes = assembly.GetTypes();
+foreach (var type in allTypes.Where(t =>
+ !new[] { "EmbeddedAttribute", "NullableAttribute", "NullableContextAttribute" }.Contains(t.Name)))
+{
+builder.Services.AddSingleton(type);
+}
+
+builder.Services.AddSwaggerGen(c =>
+{
+c.SwaggerDoc("v1", new OpenApiInfo
+{
+Title = SERVICE_NAME,
+Version = "v1",
+Description = "https://github.com/Smart-Kit/SmartCode"
+});
+c.CustomSchemaIds(type => type.FullName);
+var filePath = Path.Combine(AppContext.BaseDirectory, $"{SERVICE_NAME}.xml");
+if (File.Exists(filePath))
+{
+c.IncludeXmlComments(filePath);
+}
+});
+
+var app = builder.Build();
+
+// Configure the HTTP request pipeline.
+if (app.Environment.IsDevelopment())
+{
+app.UseSwagger();
+app.UseSwaggerUI(c =>
+{
+c.SwaggerEndpoint("/swagger/v1/swagger.json", SERVICE_NAME);
+});
+}
+
+app.UseAuthorization();
+
+app.MapControllers();
+
+app.Run();
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryByPageRequest.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryByPageRequest.cshtml
index cb1ccea..052bb65 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryByPageRequest.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryByPageRequest.cshtml
@@ -1,9 +1,9 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
using System;
using System.Collections.Generic;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryByPageResponse.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryByPageResponse.cshtml
index 6870de4..16c47e5 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryByPageResponse.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryByPageResponse.cshtml
@@ -1,9 +1,9 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
using System;
using System.Collections.Generic;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryRequest.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryRequest.cshtml
index a399833..7761659 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryRequest.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryRequest.cshtml
@@ -1,9 +1,9 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
using System;
using System.Collections.Generic;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryResponse.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryResponse.cshtml
index 3d94528..e0ab2f1 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryResponse.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/QueryResponse.cshtml
@@ -1,9 +1,9 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
using System;
using System.Collections.Generic;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/ResponseMessage.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/ResponseMessage.cshtml
index 243ea1f..3a6658a 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/ResponseMessage.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/ResponseMessage.cshtml
@@ -1,9 +1,9 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
using System;
using System.Collections.Generic;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/API/Startup.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/API/Startup.cshtml
index 5ed503a..12ad7bb 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/API/Startup.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/API/Startup.cshtml
@@ -1,9 +1,9 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_CSharpLayout.cshtml";
var project = Model.Project;
}
+@Include("../Copyright.cshtml", Model)
using System;
using System.IO;
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Copyright.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Copyright.cshtml
index 3e2f8ac..34bd426 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Copyright.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Copyright.cshtml
@@ -1,5 +1,6 @@
-@using SmartCode
-@model BuildContext
+@using System
+@using SmartCode
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Entity.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Entity.cshtml
index 30fe4d9..2990650 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Entity.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Entity.cshtml
@@ -1,8 +1,8 @@
-@using SmartCode
+@using System
+@using SmartCode
@using SmartCode.Generator.Extensions
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_CSharpLayout.cshtml";
var project = Model.Project;
var buildTask = Model.Build;
var table = Model.GetCurrentTable();
@@ -28,6 +28,7 @@ public string ConvertLangType(SmartCode.Generator.Entity.Column column)
}
}
+@Include("Copyright.cshtml", Model)
using System;
namespace @(project.Module).@buildTask.Module
@@ -40,9 +41,9 @@ namespace @(project.Module).@buildTask.Module
{
@column.GetCSharpSummary()
- @Html.NewLine()
+ @NewLine()
public virtual @(ConvertLangType(column)) @column.ConvertedName { get; set; }
- @Html.NewLine()
+ @NewLine()
}
}
}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-API.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-API.cshtml
index 8a8f3c8..b2a74a4 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-API.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-API.cshtml
@@ -1,8 +1,9 @@
-@using SmartCode
-@model BuildContext
+@using System.Collections.Generic
+@using SmartCode
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
- var smartsqlVersion = "4.0.42";
+ var smartsqlVersion = "4.1.64";
if (project.Parameters.Value("SmartSqlVersion", out string version))
{
smartsqlVersion = version;
@@ -10,17 +11,16 @@
}
- netcoreapp2.2
+ net6.0
+ enable
+ enable
-
+
-
-
-
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Entity.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Entity.cshtml
index 85d21f0..c02991b 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Entity.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Entity.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
@@ -7,6 +7,8 @@
- netstandard2.0
+ net6.0
+ enable
+ enable
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Repository.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Repository.cshtml
index 8835c59..31bbb52 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Repository.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Repository.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Collections.Generic
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -8,12 +9,12 @@
var dbProviderAssNames = dbFactory.GetType().Assembly.FullName.Split(',');
var dbProviderName = dbProviderAssNames[0];
var dbProviderVersion = dbProviderAssNames[1].Split('=')[1];
- var smartSqlVersion = "4.0.42";
+ var smartSqlVersion = "4.1.64";
if (project.Parameters.Value("SmartSqlVersion", out string version))
{
smartSqlVersion = version;
}
- var smartSqlSchemaVersion = "4.0.42";
+ var smartSqlSchemaVersion = "4.1.30";
if (project.Parameters.Value("SmartSqlSchemaVersion", out string schemaVersion))
{
smartSqlSchemaVersion = schemaVersion;
@@ -22,24 +23,23 @@
- netstandard2.0
+ net6.0
+ enable
+ enable
- @if (dbSource.DbRepository.DbProvider != DbProvider.SqlServer)
- {
-
- }
+
@if (dbSource.DbRepository.DbProvider == DbProvider.PostgreSql)
{
-
+
}
else
{
-
+
}
-
-
-
+
+
+
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Service.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Service.cshtml
index c58e69d..aaf22c3 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Service.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Proj-Service.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
}
@@ -7,7 +7,9 @@
- netstandard2.0
+ net6.0
+ enable
+ enable
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Repository.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Repository.cshtml
index 05a5d26..1df8ff6 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Repository.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Repository.cshtml
@@ -1,9 +1,8 @@
@using SmartCode
@using SmartCode.Db;
@using SmartCode.Generator.Extensions
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_CSharpLayout.cshtml";
var project = Model.Project;
var buildTask = Model.Build;
var table = Model.GetCurrentTable();
@@ -19,6 +18,7 @@
var pkNameEqId = pkCol.ConvertedName == "Id";
var genericParameterKey = $"{table.ConvertedName},{primaryKeyType}";
}
+@Include("Copyright.cshtml", Model)
using System;
using System.Collections.Generic;
@@ -38,46 +38,46 @@ public interface I@(table.ConvertedName)Repository : IRepository<@genericParamet
@if (dbSource.DbRepository.DbProvider == DbProvider.PostgreSql && autoIncrement)
{
[Statement(Execute = ExecuteBehavior.QuerySingle)]
- @Html.NewLine()
- @Html.PadLeft(8) new @primaryKeyType Insert(@table.ConvertedName entity);
- @Html.NewLine()
+ @NewLine()
+ @PadLeft(8) new @primaryKeyType Insert(@table.ConvertedName entity);
+ @NewLine()
[Statement(Execute = ExecuteBehavior.QuerySingle)]
- @Html.NewLine()
- @Html.PadLeft(8) new Task<@primaryKeyType> InsertAsync(@table.ConvertedName entity);
- @Html.NewLine()
+ @NewLine()
+ @PadLeft(8) new Task<@primaryKeyType> InsertAsync(@table.ConvertedName entity);
+ @NewLine()
}
else if (autoIncrement && primaryKeyType != "int")
{
- @Html.PadLeft(8) new @primaryKeyType Insert(@table.ConvertedName entity);
- @Html.NewLine()
+ @PadLeft(8) new @primaryKeyType Insert(@table.ConvertedName entity);
+ @NewLine()
- @Html.PadLeft(8) new Task<@primaryKeyType> InsertAsync(@table.ConvertedName entity);
- @Html.NewLine()
+ @PadLeft(8) new Task<@primaryKeyType> InsertAsync(@table.ConvertedName entity);
+ @NewLine()
}
@if (!pkNameEqId)
{
[Statement(Id = "GetEntity")]
- @Html.NewLine()
- @Html.PadLeft(8) new @table.ConvertedName GetById([Param("@pkCol.ConvertedName")]@primaryKeyType id);
- @Html.NewLine()
+ @NewLine()
+ @PadLeft(8) new @table.ConvertedName GetById([Param("@pkCol.ConvertedName")]@primaryKeyType id);
+ @NewLine()
[Statement(Id = "GetEntity")]
- @Html.NewLine()
- @Html.PadLeft(8) new Task<@table.ConvertedName> GetByIdAsync([Param("@pkCol.ConvertedName")]@primaryKeyType id);
- @Html.NewLine()
+ @NewLine()
+ @PadLeft(8) new Task<@table.ConvertedName> GetByIdAsync([Param("@pkCol.ConvertedName")]@primaryKeyType id);
+ @NewLine()
[Statement(Id = "Delete")]
- @Html.NewLine()
- @Html.PadLeft(8) new int DeleteById([Param("@pkCol.ConvertedName")]@primaryKeyType id);
- @Html.NewLine()
+ @NewLine()
+ @PadLeft(8) new int DeleteById([Param("@pkCol.ConvertedName")]@primaryKeyType id);
+ @NewLine()
[Statement(Id = "Delete")]
- @Html.NewLine()
- @Html.PadLeft(8) new Task<@("int")> DeleteByIdAsync([Param("@pkCol.ConvertedName")]@primaryKeyType id);
- @Html.NewLine()
+ @NewLine()
+ @PadLeft(8) new Task<@("int")> DeleteByIdAsync([Param("@pkCol.ConvertedName")]@primaryKeyType id);
+ @NewLine()
}
- }
- }
+ }
+}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Service.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Service.cshtml
index 8046b04..a2f7be3 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Service.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Service.cshtml
@@ -1,8 +1,7 @@
@using SmartCode
@using SmartCode.Generator.Extensions
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_CSharpLayout.cshtml";
var project = Model.Project;
var table = Model.GetCurrentTable();
var pkCol = table.PKColumn;
@@ -18,6 +17,7 @@
var repositoryName = $"{table.ConvertedName}Repository";
var repositoryCamelName = NamingUtil.CamelCase(repositoryName);
}
+@Include("Copyright.cshtml", Model)
using System;
using System.Linq;
@@ -26,14 +26,14 @@ using @(project.Module).Repository;
namespace @(project.Module).Service
{
- @table.GetCSharpSummary()
+@table.GetCSharpSummary()
public class @serviceName
{
public I@(repositoryName) @repositoryName { get; }
public @serviceName (I@(repositoryName) @repositoryCamelName)
{
- @repositoryName = @repositoryCamelName;
+@repositoryName = @repositoryCamelName;
}
public @insertRetType Insert(@entityName @entityCamelName)
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Directory.Build.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Directory.Build.cshtml
index 8b57d59..4b39904 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Directory.Build.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Directory.Build.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-DockerIgnore.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-DockerIgnore.cshtml
index 037b231..b023cad 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-DockerIgnore.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-DockerIgnore.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Dockerfile.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Dockerfile.cshtml
index 99a9660..ec60ed7 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Dockerfile.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Dockerfile.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var apiProjectName = $"{project.Module}.API";
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-GitIgnore.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-GitIgnore.cshtml
index 4446dca..6ce0dfd 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-GitIgnore.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-GitIgnore.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Version.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Version.cshtml
index 7e366f2..8667cca 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Version.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln-Version.cshtml
@@ -1,5 +1,5 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln.cshtml
index 6444783..32ea708 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/Sln.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/Sln.cshtml
@@ -1,6 +1,5 @@
-@using System.IO
-@using SmartCode
-@model BuildContext
+@using SmartCode
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var configFileName = System.IO.Path.GetFileName(project.ConfigPath);
@@ -10,21 +9,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27428.2037
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "@(project.Module).Entity", "src\@(project.Module).Entity\@(project.Module).Entity.csproj", "{88A185DB-0242-4843-9284-334850FF611C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "@(project.Module).Repository", "src\@(project.Module).Repository\@(project.Module).Repository.csproj", "{6A7E8C9E-6A9F-49FD-AD48-F297E515EB10}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "@(project.Module).Service", "src\@(project.Module).Service\@(project.Module).Service.csproj", "{D274EF03-E956-40EF-B874-58A5FBE83A00}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "@(project.Module).API", "src\@(project.Module).API\@(project.Module).API.csproj", "{CEA52B07-9E7F-4A4D-AF6D-4C43E7255D0E}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "API", "API", "{20C12BB6-7202-46F4-9A92-3528FFC2B91B}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{68E40CDE-0E75-4372-96C4-1507D50993CD}"
ProjectSection(SolutionItems) = preProject
Directory.Build.props = Directory.Build.props
-build\version.props = build\version.props
build\@configFileName = build\@configFileName
+build\version.props = build\version.props
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{1666CC75-624D-4AE9-84D7-7F9F338658C5}"
@@ -34,32 +23,7 @@ Dockerfile = Dockerfile
EndProjectSection
EndProject
Global
-GlobalSection(SolutionConfigurationPlatforms) = preSolution
-Debug|Any CPU = Debug|Any CPU
-Release|Any CPU = Release|Any CPU
-EndGlobalSection
-GlobalSection(ProjectConfigurationPlatforms) = postSolution
-{88A185DB-0242-4843-9284-334850FF611C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-{88A185DB-0242-4843-9284-334850FF611C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-{88A185DB-0242-4843-9284-334850FF611C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-{88A185DB-0242-4843-9284-334850FF611C}.Release|Any CPU.Build.0 = Release|Any CPU
-{6A7E8C9E-6A9F-49FD-AD48-F297E515EB10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-{6A7E8C9E-6A9F-49FD-AD48-F297E515EB10}.Debug|Any CPU.Build.0 = Debug|Any CPU
-{6A7E8C9E-6A9F-49FD-AD48-F297E515EB10}.Release|Any CPU.ActiveCfg = Release|Any CPU
-{6A7E8C9E-6A9F-49FD-AD48-F297E515EB10}.Release|Any CPU.Build.0 = Release|Any CPU
-{D274EF03-E956-40EF-B874-58A5FBE83A00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-{D274EF03-E956-40EF-B874-58A5FBE83A00}.Debug|Any CPU.Build.0 = Debug|Any CPU
-{D274EF03-E956-40EF-B874-58A5FBE83A00}.Release|Any CPU.ActiveCfg = Release|Any CPU
-{D274EF03-E956-40EF-B874-58A5FBE83A00}.Release|Any CPU.Build.0 = Release|Any CPU
-{CEA52B07-9E7F-4A4D-AF6D-4C43E7255D0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-{CEA52B07-9E7F-4A4D-AF6D-4C43E7255D0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-{CEA52B07-9E7F-4A4D-AF6D-4C43E7255D0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-{CEA52B07-9E7F-4A4D-AF6D-4C43E7255D0E}.Release|Any CPU.Build.0 = Release|Any CPU
-EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
-GlobalSection(NestedProjects) = preSolution
-{CEA52B07-9E7F-4A4D-AF6D-4C43E7255D0E} = {20C12BB6-7202-46F4-9A92-3528FFC2B91B}
-EndGlobalSection
EndGlobal
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Delete.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Delete.cshtml
index 0180f28..9c397ce 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Delete.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Delete.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-GetEntity.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-GetEntity.cshtml
index 345b7ad..7be0c16 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-GetEntity.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-GetEntity.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-GetRecord.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-GetRecord.cshtml
index 9ad821a..3017b13 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-GetRecord.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-GetRecord.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Insert.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Insert.cshtml
index e984c36..b6c0726 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Insert.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Insert.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -21,10 +22,10 @@
@for (var colIndex = 0; colIndex < table.Columns.Count(); colIndex++)
{
var col = table.Columns.ElementAt(colIndex);
- @if (!col.AutoIncrement)
+ if (!col.AutoIncrement)
{
- @Html.PadLeft(6)@col.Name@(colIndex == table.Columns.Count() - 1 ? "" : ",")
- @Html.NewLine()
+ @PadLeft(6)@col.Name@(colIndex == table.Columns.Count() - 1 ? "" : ",")
+ @NewLine()
}
}
)
@@ -33,16 +34,16 @@
@for (var colIndex = 0; colIndex < table.Columns.Count(); colIndex++)
{
var col = table.Columns.ElementAt(colIndex);
- @if (!col.AutoIncrement)
+ if (!col.AutoIncrement)
{
- @Html.PadLeft(6)@prefix@col.ConvertedName@(colIndex == table.Columns.Count() - 1 ? "" : ",")
- @Html.NewLine()
+ @PadLeft(6)@prefix@col.ConvertedName@(colIndex == table.Columns.Count() - 1 ? "" : ",")
+ @NewLine()
}
}
)
@if (autoIncrement)
{
- @switch (dbSource.DbRepository.DbProvider)
+ switch (dbSource.DbRepository.DbProvider)
{
case DbProvider.MariaDB:
case DbProvider.MySql:
@@ -61,6 +62,6 @@
break;
}
}
- @Html.NewLine()
+ @NewLine()
}
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-IsExist.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-IsExist.cshtml
index 8b288d1..a877ec6 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-IsExist.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-IsExist.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var table = Model.GetCurrentTable();
}
@@ -9,5 +9,4 @@
Select Count(1) From @table.Name T
-
-
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Query.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Query.cshtml
index d0e59e7..9b69a07 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Query.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Query.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-QueryByPage.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-QueryByPage.cshtml
index 680b0a7..8ea99f6 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-QueryByPage.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-QueryByPage.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -20,8 +21,8 @@
- Select
-
+ Select
+
From @table.Name As T
@@ -29,5 +30,5 @@
T.@pkCol.Name Desc
- Limit @(dbPrefix)PageSize Offset @(dbPrefix)Offset
+ Limit @(dbPrefix)PageSize Offset @(dbPrefix)Offset
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Update.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Update.cshtml
index 025f542..a4b857e 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Update.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/CURD/SqlMap-Update.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-Columns.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-Columns.cshtml
index e0eda88..b76471f 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-Columns.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-Columns.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-MySql.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-MySql.cshtml
index 697dfbe..4f45572 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-MySql.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-MySql.cshtml
@@ -1,8 +1,8 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_SqlMapLayout.cshtml";
var project = Model.Project;
var dbSource = Model.GetDataSource();
var buildTask = Model.Build;
@@ -19,20 +19,20 @@
var resultMapName = $"{table.ConvertedName}ResultMap";
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
}
-@section QueryByPage
- {
-
-
- Select
-
- From @table.Name As T
-
-
-
- T.@pkCol.Name Desc
-
-
- Limit @(dbPrefix)Offset,@(dbPrefix)PageSize
-
-}
+
+ @Include("SqlMap-ResultMaps.cshtml", Model)
+
+ @Include("SqlMap-Columns.cshtml", Model)
+ @Include("SqlMap-WhereQueryParams.cshtml", Model)
+ @Include("./CURD/SqlMap-Insert.cshtml", Model)
+ @Include("./CURD/SqlMap-Delete.cshtml", Model)
+ @Include("./CURD/SqlMap-Update.cshtml", Model)
+ @Include("./CURD/SqlMap-Query.cshtml", Model)
+ @Include("./CURD/SqlMap-QueryByPage.cshtml", Model)
+ @Include("./CURD/SqlMap-GetRecord.cshtml", Model)
+ @Include("./CURD/SqlMap-GetEntity.cshtml", Model)
+ @Include("./CURD/SqlMap-IsExist.cshtml", Model)
+
+
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-Oracle.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-Oracle.cshtml
index e0ce1d2..ac8fa90 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-Oracle.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-Oracle.cshtml
@@ -1,8 +1,8 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_SqlMapLayout.cshtml";
var project = Model.Project;
var dbSource = Model.GetDataSource();
var buildTask = Model.Build;
@@ -20,52 +20,56 @@
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
}
-@section QueryByPage
- {
-
-
- Select TT.* From
- (Select ROW_NUMBER() Over(Order By T.@pkCol.Name Desc) Row_Index,T.* From @table.Name T
- ) TT
- Where TT.Row_Index Between ((@(dbPrefix)PageIndex-1)*@(dbPrefix)PageSize+1) And (@(dbPrefix)PageIndex*@(dbPrefix)PageSize)
-
-}
-@section GetEntity
- {
-
-
- Select T.* From @table.Name T
-
- ROWNUM = 1
- @foreach (var col in table.Columns)
- {
-
- T.@col.Name= @($"{dbPrefix}{col.ConvertedName}")
-
- }
-
-
-}
+
+ @Include("SqlMap-ResultMaps.cshtml", Model)
+
+ @Include("SqlMap-Columns.cshtml", Model)
+ @Include("SqlMap-WhereQueryParams.cshtml", Model)
+ @Include("./CURD/SqlMap-Insert.cshtml", Model)
+ @Include("./CURD/SqlMap-Delete.cshtml", Model)
+ @Include("./CURD/SqlMap-Update.cshtml", Model)
-@section Query
- {
-
-
- select * from (
+
+
+ select * from (
SELECT
T.* From @table.Name T
-
+
T.@pkCol.Name Desc
- )
-
-
-
-
-}
+ )
+
+
+
+
+
+
+
+ Select TT.* From
+ (Select ROW_NUMBER() Over(Order By T.@pkCol.Name Desc) Row_Index,T.* From @table.Name T
+ ) TT
+ Where TT.Row_Index Between ((@(dbPrefix)PageIndex-1)*@(dbPrefix)PageSize+1) And (@(dbPrefix)PageIndex*@(dbPrefix)PageSize)
+
+ @Include("./CURD/SqlMap-GetRecord.cshtml", Model)
+
+
+
+ Select T.* From @table.Name T
+
+ ROWNUM = 1
+ @foreach (var col in table.Columns)
+ {
+
+ T.@col.Name= @($"{dbPrefix}{col.ConvertedName}")
+
+ }
+
+
+ @Include("./CURD/SqlMap-IsExist.cshtml", Model)
+
+
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-PostgreSql.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-PostgreSql.cshtml
index 7ee9f49..10560f8 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-PostgreSql.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-PostgreSql.cshtml
@@ -1,8 +1,8 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_SqlMapLayout.cshtml";
var project = Model.Project;
var build = Model.Build;
var dbSource = Model.GetDataSource();
@@ -21,20 +21,19 @@
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
}
-@section QueryByPage
- {
-
-
- Select
-
- From @table.Name As T
-
-
-
- T.@pkCol.Name Desc
-
-
- Limit @(dbPrefix)PageSize Offset @(dbPrefix)Offset
-
-}
+
+ @Include("SqlMap-ResultMaps.cshtml", Model)
+
+ @Include("SqlMap-Columns.cshtml", Model)
+ @Include("SqlMap-WhereQueryParams.cshtml", Model)
+ @Include("./CURD/SqlMap-Insert.cshtml", Model)
+ @Include("./CURD/SqlMap-Delete.cshtml", Model)
+ @Include("./CURD/SqlMap-Update.cshtml", Model)
+ @Include("./CURD/SqlMap-Query.cshtml", Model)
+ @Include("./CURD/SqlMap-QueryByPage.cshtml", Model)
+ @Include("./CURD/SqlMap-GetRecord.cshtml", Model)
+ @Include("./CURD/SqlMap-GetEntity.cshtml", Model)
+ @Include("./CURD/SqlMap-IsExist.cshtml", Model)
+
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-ResultMaps.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-ResultMaps.cshtml
index 4c6f62a..3d27799 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-ResultMaps.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-ResultMaps.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-SQLite.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-SQLite.cshtml
index b8abc2d..4f45572 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-SQLite.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-SQLite.cshtml
@@ -1,8 +1,8 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_SqlMapLayout.cshtml";
var project = Model.Project;
var dbSource = Model.GetDataSource();
var buildTask = Model.Build;
@@ -19,19 +19,20 @@
var resultMapName = $"{table.ConvertedName}ResultMap";
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
}
-@section QueryByPage
- {
-
-
- Select
-
- From @table.Name As T
-
-
-
- T.@pkCol.Name Desc
-
-
- Limit @(dbPrefix)PageSize Offset @(dbPrefix)Offset
-
-}
\ No newline at end of file
+
+
+ @Include("SqlMap-ResultMaps.cshtml", Model)
+
+ @Include("SqlMap-Columns.cshtml", Model)
+ @Include("SqlMap-WhereQueryParams.cshtml", Model)
+ @Include("./CURD/SqlMap-Insert.cshtml", Model)
+ @Include("./CURD/SqlMap-Delete.cshtml", Model)
+ @Include("./CURD/SqlMap-Update.cshtml", Model)
+ @Include("./CURD/SqlMap-Query.cshtml", Model)
+ @Include("./CURD/SqlMap-QueryByPage.cshtml", Model)
+ @Include("./CURD/SqlMap-GetRecord.cshtml", Model)
+ @Include("./CURD/SqlMap-GetEntity.cshtml", Model)
+ @Include("./CURD/SqlMap-IsExist.cshtml", Model)
+
+
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-SqlServer.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-SqlServer.cshtml
index cf0da07..e04ec43 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-SqlServer.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-SqlServer.cshtml
@@ -1,16 +1,17 @@
-@using SmartCode
+@using System
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
@using System.Text.RegularExpressions
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_SqlMapLayout.cshtml";
var project = Model.Project;
var dbSource = Model.GetDataSource();
var versionNo = 2008;
var sqlServerVersion = dbSource.DbRepository.SqlMapper.ExecuteScalar(new SmartSql.RequestContext
- {
- RealSql = "Select @@Version;"
- });
+ {
+ RealSql = "Select @@Version;"
+ });
var versionRegex = new Regex(@"^Microsoft SQL Server (\d*)", RegexOptions.Singleline);
var versionNoStr = versionRegex.Match(sqlServerVersion).Groups[1].Value;
int.TryParse(versionNoStr, out versionNo);
@@ -29,66 +30,71 @@
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
}
-@section QueryByPage
-{
-
-
- @if (versionNo >= 2012)
- {
-
- Select
-
- From @table.Name T With(NoLock)
-
- Order By T.@pkCol.Name Desc
- Offset ((@(dbPrefix)PageIndex-1)*@(dbPrefix)PageSize) Rows Fetch Next @(dbPrefix)PageSize Rows Only;
-
- }
- else
- {
-
- Select TT.* From
- (Select ROW_NUMBER() Over(Order By T.@pkCol.Name Desc) Row_Index,T.* From @table.Name T With(NoLock)
- ) TT
- Where TT.Row_Index Between ((@(dbPrefix)PageIndex-1)*@(dbPrefix)PageSize+1) And (@(dbPrefix)PageIndex*@(dbPrefix)PageSize);
-
- }
-
-}
+
+ @Include("SqlMap-ResultMaps.cshtml", Model)
+
+ @Include("SqlMap-Columns.cshtml", Model)
+ @Include("SqlMap-WhereQueryParams.cshtml", Model)
+ @Include("./CURD/SqlMap-Insert.cshtml", Model)
+ @Include("./CURD/SqlMap-Delete.cshtml", Model)
+ @Include("./CURD/SqlMap-Update.cshtml", Model)
+
+
+
+ SELECT
+
+ (@(dbPrefix)Taken)
+
+
+ From @table.Name T
+
+
+
+ T.@pkCol.Name Desc
+
+
+
-@section GetEntity
-{
-
-
- Select Top 1
-
- From @table.Name T With(NoLock)
-
- @foreach (var col in table.Columns)
+
+
+ @if (versionNo >= 2012)
{
-
- T.@col.Name= @($"{dbPrefix}{col.ConvertedName}")
-
+
+ Select
+
+ From @table.Name T With(NoLock)
+
+ Order By T.@pkCol.Name Desc
+ Offset ((@(dbPrefix)PageIndex-1)*@(dbPrefix)PageSize) Rows Fetch Next @(dbPrefix)PageSize Rows Only;
+
}
-
-
-}
+ else
+ {
+
+ Select TT.* From
+ (Select ROW_NUMBER() Over(Order By T.@pkCol.Name Desc) Row_Index,T.* From @table.Name T With(NoLock)
+ ) TT
+ Where TT.Row_Index Between ((@(dbPrefix)PageIndex-1)*@(dbPrefix)PageSize+1) And (@(dbPrefix)PageIndex*@(dbPrefix)PageSize);
+
+ }
+
+ @Include("./CURD/SqlMap-GetRecord.cshtml", Model)
+
+
+
+ Select Top 1
+
+ From @table.Name T With(NoLock)
+
+ @foreach (var col in table.Columns)
+ {
+
+ T.@col.Name= @($"{dbPrefix}{col.ConvertedName}")
+
+ }
+
+
+ @Include("./CURD/SqlMap-IsExist.cshtml", Model)
+
-@section Query
-{
-
-
- SELECT
-
- (@(dbPrefix)Taken)
-
-
- From @table.Name T
-
-
-
- T.@pkCol.Name Desc
-
-
-
-}
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-WhereQueryParams.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-WhereQueryParams.cshtml
new file mode 100644
index 0000000..6fe64aa
--- /dev/null
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/SqlMap-WhereQueryParams.cshtml
@@ -0,0 +1,19 @@
+@using SmartCode
+@using SmartCode.Db
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
+@{
+ var dbSource = Model.GetDataSource();
+ var table = Model.GetCurrentTable();
+ var dbPrefix = dbSource.DbProvider.ParameterPrefix;
+}
+
+
+
+ @foreach (var col in table.Columns)
+ {
+
+ T.@col.Name = @dbPrefix@col.ConvertedName
+
+ }
+
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/_SqlMapLayout.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/_SqlMapLayout.cshtml
index b3257bf..b0d8579 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/_SqlMapLayout.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap-Partials/_SqlMapLayout.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -15,9 +15,9 @@
}
- @{ await Html.RenderPartialAsync("SqlMap-ResultMaps.cshtml", Model); }
+ @Include("SqlMap-ResultMaps.cshtml", Model)
- @{ await Html.RenderPartialAsync("SqlMap-Columns.cshtml", Model); }
+ @Include("SqlMap-Columns.cshtml", Model); }
@foreach (var col in table.Columns)
@@ -35,7 +35,7 @@
}
else
{
- await Html.RenderPartialAsync("./CURD/SqlMap-Insert.cshtml", Model);
+ Include("./CURD/SqlMap-Insert.cshtml", Model);
}
@if (IsSectionDefined("Delete"))
@@ -44,7 +44,7 @@
}
else
{
- await Html.RenderPartialAsync("./CURD/SqlMap-Delete.cshtml", Model);
+ Include("./CURD/SqlMap-Delete.cshtml", Model);
}
@if (IsSectionDefined("Update"))
@@ -53,7 +53,7 @@
}
else
{
- await Html.RenderPartialAsync("./CURD/SqlMap-Update.cshtml", Model);
+ Include("./CURD/SqlMap-Update.cshtml", Model);
}
@if (IsSectionDefined("Query"))
@@ -62,7 +62,7 @@
}
else
{
- await Html.RenderPartialAsync("./CURD/SqlMap-Query.cshtml", Model);
+ Include("./CURD/SqlMap-Query.cshtml", Model);
}
@if (IsSectionDefined("QueryByPage"))
@@ -71,7 +71,7 @@
}
else
{
- await Html.RenderPartialAsync("./CURD/SqlMap-QueryByPage.cshtml", Model);
+ Include("./CURD/SqlMap-QueryByPage.cshtml", Model);
}
@if (IsSectionDefined("GetRecord"))
@@ -80,7 +80,7 @@
}
else
{
- await Html.RenderPartialAsync("./CURD/SqlMap-GetRecord.cshtml", Model);
+ Include("./CURD/SqlMap-GetRecord.cshtml", Model);
}
@if (IsSectionDefined("GetEntity"))
@@ -89,7 +89,7 @@
}
else
{
- await Html.RenderPartialAsync("./CURD/SqlMap-GetEntity.cshtml", Model);
+ Include("./CURD/SqlMap-GetEntity.cshtml", Model);
}
@if (IsSectionDefined("IsExist"))
@@ -98,7 +98,7 @@
}
else
{
- await Html.RenderPartialAsync("./CURD/SqlMap-IsExist.cshtml", Model);
+ Include("./CURD/SqlMap-IsExist.cshtml", Model);
}
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap.cshtml
index fbfb433..a7e1e3f 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMap.cshtml
@@ -1,12 +1,12 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
}
-@{ await Html.RenderPartialAsync($"./SqlMap-Partials/SqlMap-{dbSource.DbProvider.Name}.cshtml", Model); }
\ No newline at end of file
+@Include($"./SqlMap-Partials/SqlMap-{dbSource.DbProvider.Name}.cshtml", Model)
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMapConfig.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMapConfig.cshtml
index 07cac71..9ddc4ac 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMapConfig.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/SqlMapConfig.cshtml
@@ -1,6 +1,7 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@using SmartSql
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -10,7 +11,7 @@
diff --git a/src/SmartCode.Generator/RazorTemplates/CSharp/_CSharpLayout.cshtml b/src/SmartCode.Generator/RazorTemplates/CSharp/_CSharpLayout.cshtml
index 15059b9..2d50de1 100644
--- a/src/SmartCode.Generator/RazorTemplates/CSharp/_CSharpLayout.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/CSharp/_CSharpLayout.cshtml
@@ -1,4 +1,4 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{ await Html.RenderPartialAsync("Copyright.cshtml", Model); }
@RenderBody()
diff --git a/src/SmartCode.Generator/RazorTemplates/ETL/ToMysqlTable.cshtml b/src/SmartCode.Generator/RazorTemplates/ETL/ToMysqlTable.cshtml
index 4f6606d..395990a 100644
--- a/src/SmartCode.Generator/RazorTemplates/ETL/ToMysqlTable.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/ETL/ToMysqlTable.cshtml
@@ -1,6 +1,9 @@
-@using SmartCode
+@using System
+@using System.Collections.Generic
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -63,7 +66,7 @@ DataSource:
AutoIncrement: @(PKColumn.AutoIncrement ? "true" : "false")
@if (!String.IsNullOrEmpty(modifyTime))
{
- @Html.PadLeft(4)ModifyTime: @modifyTime
+ @PadLeft(4)ModifyTime: @modifyTime
}
@@ -113,6 +116,6 @@ Build:
{Column: @col.Name,Mapping: @col.ConvertedName}
if (colIndex < table.Columns.Count() - 1)
{@(",")}
- @Html.NewLine()
+ @NewLine()
}
]
diff --git a/src/SmartCode.Generator/RazorTemplates/ETL/ToPGBuild.cshtml b/src/SmartCode.Generator/RazorTemplates/ETL/ToPGBuild.cshtml
index 9cbf35f..8b6225e 100644
--- a/src/SmartCode.Generator/RazorTemplates/ETL/ToPGBuild.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/ETL/ToPGBuild.cshtml
@@ -1,6 +1,9 @@
-@using SmartCode
+@using System
+@using System.Collections.Generic
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -59,7 +62,7 @@ DataSource:
AutoIncrement: @(PKColumn.AutoIncrement ? "true" : "false")
@if (!String.IsNullOrEmpty(modifyTime))
{
- @Html.PadLeft(4)ModifyTime: @modifyTime
+ @PadLeft(4)ModifyTime: @modifyTime
}
@@ -107,6 +110,6 @@ Build:
{Column: @col.Name,Mapping: @col.ConvertedName}
if (colIndex < table.Columns.Count() - 1)
{@(",")}
- @Html.NewLine()
+ @NewLine()
}
]
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/AbstractEntity.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/AbstractEntity.cshtml
index 58d289e..5cc2c9e 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/AbstractEntity.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/AbstractEntity.cshtml
@@ -1,10 +1,9 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_JavaLayout.cshtml";
var project = Model.Project;
}
-
+@Include("Copyright.cshtml", Model)
package @(project.Module).entity;
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/AppConfig.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/AppConfig.cshtml
index 6fa690f..0f26f56 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/AppConfig.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/AppConfig.cshtml
@@ -1,11 +1,10 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_JavaLayout.cshtml";
var project = Model.Project;
var buildTask = Model.Build;
}
-
+@Include("Copyright.cshtml", Model)
package @(project.Module).server.config;
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Application.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Application.cshtml
index 3a8a599..11f9a0a 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Application.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Application.cshtml
@@ -1,7 +1,6 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_JavaLayout.cshtml";
var project = Model.Project;
var appName = "Demo";
@@ -12,6 +11,7 @@
}
var appClassName = $"{appName}Application";
}
+@Include("Copyright.cshtml", Model)
package @(project.Module).server;
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Controller.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Controller.cshtml
index 79f54a0..948b084 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Controller.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Controller.cshtml
@@ -1,7 +1,7 @@
+@using System
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_JavaLayout.cshtml";
var project = Model.Project;
var buildTask = Model.Build;
var table = Model.GetCurrentTable();
@@ -22,6 +22,7 @@
throw new ArgumentException("can not find Project -> BuildTasks -> Service .");
}
}
+@Include("Copyright.cshtml", Model)
package @(project.Module).@buildTask.Module;
@@ -33,7 +34,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import @(project.Module).@(serviceBuild.Module).@serviceName;
-@Html.NewLine()
+@NewLine()
@@RestController
@@RequestMapping("@entityCamelName")
public class @controllerName {
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Copyright.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Copyright.cshtml
index f43b08a..38f1299 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Copyright.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Copyright.cshtml
@@ -1,11 +1,12 @@
-@using SmartCode
-@model BuildContext
+@using System
+@using SmartCode
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
}
/*******************************
-* @@author @project.Author
-* @@date @DateTime.Now.ToString("yyyy-MM-dd HH:mm")
-* Code Generate By SmartCode
-* Code Generate Github : https://github.com/Ahoo-Wang/SmartCode
-*******************************/
\ No newline at end of file
+ * @@author @project.Author
+ * @@date @DateTime.Now.ToString("yyyy-MM-dd HH:mm")
+ * Code Generate By SmartCode
+ * Code Generate Github : https://github.com/Ahoo-Wang/SmartCode
+ *******************************/
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Entity.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Entity.cshtml
index 93945c0..f02fd07 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Entity.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Entity.cshtml
@@ -1,8 +1,9 @@
-@using SmartCode
+@using System
+@using System.Collections.Generic
+@using SmartCode
@using SmartCode.Generator.Extensions
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_JavaLayout.cshtml";
var project = Model.Project;
var buildTask = Model.Build;
var table = Model.GetCurrentTable();
@@ -57,7 +58,7 @@
}
}
-
+@Include("Copyright.cshtml", Model)
package @(project.Module).@buildTask.Module;
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/GenericRepository.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/GenericRepository.cshtml
index 609f174..64b9576 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/GenericRepository.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/GenericRepository.cshtml
@@ -1,9 +1,8 @@
@using SmartCode
@using SmartCode.Db;
@using SmartCode.Generator.Extensions
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_JavaLayout.cshtml";
var project = Model.Project;
var buildTask = Model.Build;
var table = Model.GetCurrentTable();
@@ -17,4 +16,5 @@
var dbSource = Model.GetDataSource();
}
+@Include("Copyright.cshtml", Model)
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Pom-Api.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Pom-Api.cshtml
index 9f08672..ff594e9 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Pom-Api.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Pom-Api.cshtml
@@ -1,8 +1,7 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = null;
var project = Model.Project;
}
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Pom-Parent.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Pom-Parent.cshtml
index f924ae6..95fb6b4 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Pom-Parent.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Pom-Parent.cshtml
@@ -1,8 +1,7 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = null;
var project = Model.Project;
}
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Pom-Server.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Pom-Server.cshtml
index 4d30c45..c98cc93 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Pom-Server.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Pom-Server.cshtml
@@ -1,9 +1,8 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = null;
var project = Model.Project;
var dbSource = Model.GetDataSource();
}
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Repository.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Repository.cshtml
index b937e8e..7d60673 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Repository.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Repository.cshtml
@@ -1,8 +1,9 @@
+@using System
+@using System.Collections.Generic
@using SmartCode
@using SmartCode.Db;
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_JavaLayout.cshtml";
var project = Model.Project;
var buildTask = Model.Build;
var table = Model.GetCurrentTable();
@@ -44,6 +45,7 @@
}
var genericParameterKey = $"{table.ConvertedName},{primaryKeyType}";
}
+@Include("Copyright.cshtml", Model)
package @(project.Module).@buildTask.Module;
@@ -52,7 +54,7 @@ import org.springframework.stereotype.Repository;
import @(genericRepositoryPackageName).GenericRepository;
import @(project.Module).@(entityBuild.Module).@table.ConvertedName;
-@Html.NewLine()
+@NewLine()
@@Repository
@@Mapper
public interface @(table.ConvertedName)Repository extends GenericRepository<@genericParameterKey> {
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Resources/Application-YAML.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Resources/Application-YAML.cshtml
index 731e955..f2a41b9 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Resources/Application-YAML.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Resources/Application-YAML.cshtml
@@ -1,9 +1,10 @@
+@using System
@using System.Text
@using MySql.Data.MySqlClient
@using Npgsql
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var buildTask = Model.Build;
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Service.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Service.cshtml
index 876562a..f683346 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Service.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Service.cshtml
@@ -1,7 +1,7 @@
+@using System
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_JavaLayout.cshtml";
var project = Model.Project;
var buildTask = Model.Build;
var table = Model.GetCurrentTable();
@@ -22,8 +22,7 @@
throw new ArgumentException("can not find Project -> BuildTasks -> [Repository] .");
}
}
-
-
+@Include("Copyright.cshtml", Model)
package @(project.Module).@buildTask.Module;
@@ -37,7 +36,7 @@ import java.util.stream.Collectors;
import @(project.Module).@(repositoryBuild.Module).@repositoryName;
-@Html.NewLine()
+@NewLine()
@@Service
public class @serviceName {
@@Autowired
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Delete.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Delete.cshtml
index 8d98c88..f69b45c 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Delete.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Delete.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetById.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetById.cshtml
index c6fc4e4..588672f 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetById.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetById.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetEntity.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetEntity.cshtml
index e0d96d7..4973757 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetEntity.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetEntity.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetTotal.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetTotal.cshtml
index 103f780..62ecdd2 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetTotal.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-GetTotal.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Insert.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Insert.cshtml
index 3519a47..d976057 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Insert.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Insert.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -20,10 +21,10 @@
@for (var colIndex = 0; colIndex < table.Columns.Count(); colIndex++)
{
var col = table.Columns.ElementAt(colIndex);
- @if (!col.AutoIncrement)
+ if (!col.AutoIncrement)
{
- @Html.PadLeft(6)@col.Name@(colIndex == table.Columns.Count() - 1 ? "" : ",")
- @Html.NewLine()
+ @PadLeft(6)@col.Name@(colIndex == table.Columns.Count() - 1 ? "" : ",")
+ @NewLine()
}
}
)
@@ -32,11 +33,11 @@
@for (var colIndex = 0; colIndex < table.Columns.Count(); colIndex++)
{
var col = table.Columns.ElementAt(colIndex);
- @if (!col.AutoIncrement)
+ if (!col.AutoIncrement)
{
- @Html.PadLeft(6)#{@col.ConvertedName}
+ @PadLeft(6)#{@col.ConvertedName}
@(colIndex == table.Columns.Count() - 1 ? "" : ",")
- @Html.NewLine()
+ @NewLine()
}
}
)
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Query.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Query.cshtml
index e96e090..3bebac1 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Query.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Query.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-QueryByPage.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-QueryByPage.cshtml
index 604459c..d3c267f 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-QueryByPage.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-QueryByPage.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -16,5 +16,5 @@
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Update.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Update.cshtml
index 16d5682..1334c8b 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Update.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/CURD/SqlMap-Update.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -11,20 +12,19 @@
throw new SmartCodeException($"{table.Name} can not find PKColumn!");
}
}
-
update @table.Name
@for (var colIndex = 0; colIndex < table.Columns.Count(); colIndex++)
{
var col = table.Columns.ElementAt(colIndex);
- @if (col.IsPrimaryKey)
+ if (col.IsPrimaryKey)
{
continue;
}
- @Html.PadLeft(6)@col.Name = #{@col.ConvertedName}
+ @PadLeft(6)@col.Name = #{@col.ConvertedName}
@(colIndex == table.Columns.Count() - 1 ? "" : ",")
- @Html.NewLine()
+ @NewLine()
}
where @pkCol.Name=#{@pkCol.Name}
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-Columns.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-Columns.cshtml
index 05b88ae..4679123 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-Columns.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-Columns.cshtml
@@ -1,6 +1,7 @@
-@using SmartCode
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
@@ -13,5 +14,5 @@
var col = table.Columns.ElementAt(colIndex);
@($"{col.Name}")@(colIndex == table.Columns.Count() - 1 ? "" : ",")
}
- @Html.NewLine()
+ @NewLine()
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-MySql.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-MySql.cshtml
index 5f53444..75078e5 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-MySql.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-MySql.cshtml
@@ -1,8 +1,7 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_SqlMapLayout.cshtml";
var project = Model.Project;
var dbSource = Model.GetDataSource();
var buildTask = Model.Build;
@@ -14,13 +13,21 @@
}
var resultMapName = $"{table.ConvertedName}ResultMap";
+
+ var repositoryName = $"{project.Module}.{buildTask.Module}.{table.ConvertedName}Repository";
}
-@section QueryByPage
-{
-
-}
\ No newline at end of file
+
+
+ @Include("SqlMap-ResultMaps.cshtml", Model)
+ @Include("SqlMap-Columns.cshtml", Model)
+ @Include("SqlMap-WhereQueryParams.cshtml", Model)
+ @Include("./CURD/SqlMap-Insert.cshtml", Model)
+ @Include("./CURD/SqlMap-Delete.cshtml", Model)
+ @Include("./CURD/SqlMap-Update.cshtml", Model)
+ @Include("./CURD/SqlMap-Query.cshtml", Model)
+ @Include("./CURD/SqlMap-QueryByPage.cshtml", Model)
+ @Include("./CURD/SqlMap-GetTotal.cshtml", Model)
+ @Include("./CURD/SqlMap-GetEntity.cshtml", Model)
+ @Include("./CURD/SqlMap-GetById.cshtml", Model)
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-PostgreSql.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-PostgreSql.cshtml
index 5f53444..75078e5 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-PostgreSql.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-PostgreSql.cshtml
@@ -1,8 +1,7 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_SqlMapLayout.cshtml";
var project = Model.Project;
var dbSource = Model.GetDataSource();
var buildTask = Model.Build;
@@ -14,13 +13,21 @@
}
var resultMapName = $"{table.ConvertedName}ResultMap";
+
+ var repositoryName = $"{project.Module}.{buildTask.Module}.{table.ConvertedName}Repository";
}
-@section QueryByPage
-{
-
-}
\ No newline at end of file
+
+
+ @Include("SqlMap-ResultMaps.cshtml", Model)
+ @Include("SqlMap-Columns.cshtml", Model)
+ @Include("SqlMap-WhereQueryParams.cshtml", Model)
+ @Include("./CURD/SqlMap-Insert.cshtml", Model)
+ @Include("./CURD/SqlMap-Delete.cshtml", Model)
+ @Include("./CURD/SqlMap-Update.cshtml", Model)
+ @Include("./CURD/SqlMap-Query.cshtml", Model)
+ @Include("./CURD/SqlMap-QueryByPage.cshtml", Model)
+ @Include("./CURD/SqlMap-GetTotal.cshtml", Model)
+ @Include("./CURD/SqlMap-GetEntity.cshtml", Model)
+ @Include("./CURD/SqlMap-GetById.cshtml", Model)
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-ResultMaps.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-ResultMaps.cshtml
index 0b9b20f..b947195 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-ResultMaps.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-ResultMaps.cshtml
@@ -1,8 +1,9 @@
-@using SmartCode
+@using System
+@using SmartCode
@using SmartCode.Db
@using SmartCode.Generator
@using SmartCode.Generator.Entity
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
@@ -44,8 +45,6 @@
return String.IsNullOrEmpty(jdbcType) ? "" : $" jdbcType=\"{jdbcType}\"";
}
}
-
-
@foreach (var col in table.Columns)
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-SqlServer.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-SqlServer.cshtml
index edf1342..cdcc367 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-SqlServer.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-SqlServer.cshtml
@@ -1,9 +1,10 @@
-@using SmartCode
+@using System
+@using System.Linq
+@using SmartCode
@using SmartCode.Db
@using System.Text.RegularExpressions
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "_SqlMapLayout.cshtml";
var project = Model.Project;
var dbSource = Model.GetDataSource();
var versionNo = 2008;
@@ -27,10 +28,28 @@
var notEqCols = table.Columns.Where(m => m.ConvertedName != m.Name);
var resultMapName = $"{table.ConvertedName}ResultMap";
var queryStatementResultMap = table.HasColNameNotEqConvertedName ? $"ResultMap=\"{resultMapName}\"" : "";
+
+ var repositoryName = $"{project.Module}.{buildTask.Module}.{table.ConvertedName}Repository";
}
-@section QueryByPage
-{
+
+
+ @Include("SqlMap-ResultMaps.cshtml", Model)
+ @Include("SqlMap-Columns.cshtml", Model)
+ @Include("SqlMap-WhereQueryParams.cshtml", Model)
+ @Include("./CURD/SqlMap-Insert.cshtml", Model)
+ @Include("./CURD/SqlMap-Delete.cshtml", Model)
+ @Include("./CURD/SqlMap-Update.cshtml", Model)
+
+
+
+
-}
-
-@section GetEntity
-{
+ @Include("./CURD/SqlMap-GetTotal.cshtml", Model)
+
-}
-
-@section Query
-{
-
-
-}
\ No newline at end of file
+ @Include("./CURD/SqlMap-GetById.cshtml", Model)
+
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-WhereQueryParams.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-WhereQueryParams.cshtml
index 43d54e1..11618d3 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-WhereQueryParams.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/SqlMap-WhereQueryParams.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/_SqlMapLayout.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/_SqlMapLayout.cshtml
index a69ea30..41288d1 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/_SqlMapLayout.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap-Partials/_SqlMapLayout.cshtml
@@ -1,6 +1,6 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap.cshtml
index bd9468e..3925950 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/SqlMap.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/SqlMap.cshtml
@@ -1,12 +1,12 @@
@using SmartCode
@using SmartCode.Db
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
var dbSource = Model.GetDataSource();
}
-@{ await Html.RenderPartialAsync($"./SqlMap-Partials/SqlMap-{dbSource.DbProvider.Name}.cshtml", Model); }
+@Include($"./SqlMap-Partials/SqlMap-{dbSource.DbProvider.Name}.cshtml", Model)
\ No newline at end of file
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/Test/Application-Test.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/Test/Application-Test.cshtml
index b524926..9d974c4 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/Test/Application-Test.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/Test/Application-Test.cshtml
@@ -1,7 +1,6 @@
@using SmartCode
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
- Layout = "../_JavaLayout.cshtml";
var project = Model.Project;
var appName = "Demo";
@@ -12,6 +11,7 @@
}
var appClassTestsName = $"{appName}ApplicationTests";
}
+@Include("../Copyright.cshtml", Model)
package @(project.Module).server;
diff --git a/src/SmartCode.Generator/RazorTemplates/Java/_JavaLayout.cshtml b/src/SmartCode.Generator/RazorTemplates/Java/_JavaLayout.cshtml
index 15059b9..e278e23 100644
--- a/src/SmartCode.Generator/RazorTemplates/Java/_JavaLayout.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Java/_JavaLayout.cshtml
@@ -1,4 +1,4 @@
@using SmartCode
-@model BuildContext
-@{ await Html.RenderPartialAsync("Copyright.cshtml", Model); }
-@RenderBody()
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
+@Include("Copyright.cshtml", Model)
+@* @RenderBody() *@
diff --git a/src/SmartCode.Generator/RazorTemplates/Sql/DbToMySql.cshtml b/src/SmartCode.Generator/RazorTemplates/Sql/DbToMySql.cshtml
index 7de3a8f..731ca5d 100644
--- a/src/SmartCode.Generator/RazorTemplates/Sql/DbToMySql.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Sql/DbToMySql.cshtml
@@ -1,5 +1,7 @@
-@using SmartCode
-@model BuildContext
+@using System
+@using System.Linq
+@using SmartCode
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var all_table = Model.GetCurrentAllTable();
}
@@ -32,14 +34,14 @@
@for (var colIndex = 0; colIndex < table.Columns.Count(); colIndex++)
{
var col = table.Columns.ElementAt(colIndex);
- @col.ConvertedName @Html.PadLeft(4) @GetPGSqlType(col) @Html.PadLeft(4) @(col.IsNullable ? "null" : "not null") @(col.IsPrimaryKey?" primary key":"") @(col.AutoIncrement?" AUTO_INCREMENT":"") @if (!String.IsNullOrEmpty(col.Description))
+ @col.ConvertedName @PadLeft(4) @GetPGSqlType(col) @PadLeft(4) @(col.IsNullable ? "null" : "not null") @(col.IsPrimaryKey?" primary key":"") @(col.AutoIncrement?" AUTO_INCREMENT":"") if (!String.IsNullOrEmpty(col.Description))
{
comment '@col.Description'
} if (colIndex < table.Columns.Count() - 1)
{@(",")}
- @Html.NewLine()
+ @NewLine()
}
);
-
+
}
diff --git a/src/SmartCode.Generator/RazorTemplates/Sql/DbToPGSql.cshtml b/src/SmartCode.Generator/RazorTemplates/Sql/DbToPGSql.cshtml
index 8e21140..5333981 100644
--- a/src/SmartCode.Generator/RazorTemplates/Sql/DbToPGSql.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/Sql/DbToPGSql.cshtml
@@ -1,5 +1,6 @@
-@using SmartCode
-@model BuildContext
+@using System
+@using SmartCode
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var all_table = Model.GetCurrentAllTable();
}
@@ -31,8 +32,8 @@
@foreach (var col in table.Columns)
{
- @col.ConvertedName @Html.PadLeft(4) @GetPGSqlType(col) @Html.PadLeft(4) @(col.IsNullable ? "null" : "not null") @(",")
- @Html.NewLine()
+ @col.ConvertedName @PadLeft(4) @GetPGSqlType(col) @PadLeft(4) @(col.IsNullable ? "null" : "not null") @(",")
+ @NewLine()
}
@if (table.PKColumn != null)
{
@@ -44,14 +45,14 @@
{
comment on table @table.ConvertedName is '@table.Description';
}
- @Html.NewLine()
+ @NewLine()
@foreach (var col in table.Columns)
{
- @if (!String.IsNullOrEmpty(col.Description))
+ if (!String.IsNullOrEmpty(col.Description))
{
comment on column @($"{table.ConvertedName}.{col.ConvertedName}") is '@col.Description';
}
- @Html.NewLine()
+ @NewLine()
}
}
diff --git a/src/SmartCode.Generator/RazorTemplates/TypeScript/Copyright.cshtml b/src/SmartCode.Generator/RazorTemplates/TypeScript/Copyright.cshtml
index bc98341..fd9b4df 100644
--- a/src/SmartCode.Generator/RazorTemplates/TypeScript/Copyright.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/TypeScript/Copyright.cshtml
@@ -1,5 +1,6 @@
@using SmartCode
-@model BuildContext
+@using System;
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
@{
var project = Model.Project;
}
diff --git a/src/SmartCode.Generator/RazorTemplates/TypeScript/Model.cshtml b/src/SmartCode.Generator/RazorTemplates/TypeScript/Model.cshtml
index 8977d25..aa58055 100644
--- a/src/SmartCode.Generator/RazorTemplates/TypeScript/Model.cshtml
+++ b/src/SmartCode.Generator/RazorTemplates/TypeScript/Model.cshtml
@@ -2,19 +2,21 @@
@using SmartCode
@using SmartCode.Db
@using SmartCode.Generator.Entity;
-@model BuildContext
+@inherits SmartCode.TemplateEngine.Impl.RazorCoreTemplate
+
@{
- Layout = "_Layout.cshtml";
var project = Model.Project;
var task = Model.Build;
var table = Model.GetCurrentTable();
}
@functions { }
+@Include("Copyright.cshtml", Model)
+
/** interface for @table.GetSummary() */
export interface @(table.ConvertedName) {
@foreach (var col in table.Columns) {
- @($"{Html.PadLeft(4)}/** {col.GetSummary()} */{Html.NewLine()}")
- @($"{Html.PadLeft(4)}{col.ConvertedName}: {col.LanguageType};{Html.NewLine()}")
+ @($"{PadLeft(4)}/** {col.GetSummary()} */{NewLine()}")
+ @($"{PadLeft(4)}{col.ConvertedName}: {col.LanguageType};{NewLine()}")
}
}
diff --git a/src/SmartCode.Generator/RazorTemplates/TypeScript/_Layout.cshtml b/src/SmartCode.Generator/RazorTemplates/TypeScript/_Layout.cshtml
deleted file mode 100644
index 6b5ed08..0000000
--- a/src/SmartCode.Generator/RazorTemplates/TypeScript/_Layout.cshtml
+++ /dev/null
@@ -1,4 +0,0 @@
-@using SmartCode
-@model BuildContext
-@{ Html.RenderPartial("Copyright.cshtml", Model); }
-@RenderBody()
diff --git a/src/SmartCode.Generator/SmartCode.Generator.csproj b/src/SmartCode.Generator/SmartCode.Generator.csproj
index f737ffc..0d0a0d7 100644
--- a/src/SmartCode.Generator/SmartCode.Generator.csproj
+++ b/src/SmartCode.Generator/SmartCode.Generator.csproj
@@ -1,7 +1,7 @@
- netstandard2.0
+ net6.0
@@ -20,9 +20,6 @@
PreserveNewest
-
- PreserveNewest
-
diff --git a/src/SmartCode.TemplateEngine/Impl/HandlebarsTemplateEngine.cs b/src/SmartCode.TemplateEngine/Impl/HandlebarsTemplateEngine.cs
deleted file mode 100644
index e460772..0000000
--- a/src/SmartCode.TemplateEngine/Impl/HandlebarsTemplateEngine.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using System.Threading.Tasks;
-using HandlebarsDotNet;
-using Microsoft.Extensions.Logging;
-using SmartCode.Configuration;
-using SmartCode.Utilities;
-
-namespace SmartCode.TemplateEngine.Impl
-{
- public class HandlebarsTemplateEngine : ITemplateEngine
- {
- private readonly Project _project;
- private readonly ILogger _logger;
- private IDictionary> _cahcedTemplate = new Dictionary>();
- public bool Initialized { get; private set; }
- public string Name { get; private set; } = "Handlebars";
- private string _root = AppPath.Relative("HandlebarsTemplates");
- public HandlebarsTemplateEngine(Project project
- , ILogger logger
- )
- {
- _project = project;
- _logger = logger;
- }
-
- private Func