aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs
diff options
context:
space:
mode:
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.");
}
}