aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-06 11:58:37 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:52 +0800
commita389635f5b6e1c6033e3dec80816370d396c39c8 (patch)
tree7c43ccfb134a2fc82bacb95d4b365419981632e6 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs
parentbb9a81e03d0b20dcea9b75e5145dee11f87d910e (diff)
downloadcrupest-a389635f5b6e1c6033e3dec80816370d396c39c8.tar.gz
crupest-a389635f5b6e1c6033e3dec80816370d396c39c8.tar.bz2
crupest-a389635f5b6e1c6033e3dec80816370d396c39c8.zip
Develop secret api. v13
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs27
1 files changed, 26 insertions, 1 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs
index bf62df2..9610e40 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs
@@ -190,6 +190,31 @@ CREATE TABLE {tableName}(
return result.ToString();
}
+ public string GenerateInsertSql(InsertClause insertClause, out DynamicParameters parameters)
+ {
+ var relatedColumns = insertClause.GetRelatedColumns();
+ foreach (var column in relatedColumns)
+ {
+ if (!ColumnNameList.Contains(column))
+ {
+ throw new ArgumentException($"Column {column} is not in the table.");
+ }
+ }
+
+ parameters = new DynamicParameters();
+
+ var result = new StringBuilder()
+ .Append("INSERT INTO ")
+ .Append(TableName)
+ .Append(" (")
+ .Append(insertClause.GenerateColumnListSql())
+ .Append(") VALUES (")
+ .Append(insertClause.GenerateValueListSql(parameters))
+ .Append(");");
+
+ return result.ToString();
+ }
+
public string GenerateUpdateSql(WhereClause? whereClause, UpdateClause updateClause, out DynamicParameters parameters)
{
var relatedColumns = new HashSet<string>();
@@ -200,7 +225,7 @@ CREATE TABLE {tableName}(
{
if (!ColumnNameList.Contains(column))
{
- throw new ArgumentException($"Field {column} is not in the table.");
+ throw new ArgumentException($"Column {column} is not in the table.");
}
}