aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-07 20:41:20 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:52 +0800
commit78396f289ab50ce414bd8f65af8854ffb52fff48 (patch)
tree59f3a1ebb2a8e896ad21bdcf5736fc0328c84e76 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
parent1870bc78d4a2733246322c5540761da852afe713 (diff)
downloadcrupest-78396f289ab50ce414bd8f65af8854ffb52fff48.tar.gz
crupest-78396f289ab50ce414bd8f65af8854ffb52fff48.tar.bz2
crupest-78396f289ab50ce414bd8f65af8854ffb52fff48.zip
Develop secret api. v17
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs35
1 files changed, 11 insertions, 24 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
index 35b7cc9..b5f9f38 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs
@@ -11,35 +11,21 @@ public class InsertItem
Value = value;
}
- public InsertItem(KeyValuePair<string, object?> pair)
- {
- ColumnName = pair.Key;
- Value = pair.Value;
- }
-
public string ColumnName { get; set; }
public object? Value { get; set; }
+}
- public static implicit operator KeyValuePair<string, object?>(InsertItem item)
- {
- return new(item.ColumnName, item.Value);
- }
-
- public static implicit operator InsertItem(KeyValuePair<string, object?> pair)
- {
- return new(pair);
- }
+public interface IInsertClause : IClause
+{
+ List<InsertItem> Items { get; }
+ string GenerateColumnListSql(string? dbProviderId = null);
+ (string sql, DynamicParameters parameters) GenerateValueListSql(string? dbProviderId = null);
}
-public class InsertClause
+public class InsertClause : IInsertClause
{
public List<InsertItem> Items { get; } = new List<InsertItem>();
- public InsertClause(IEnumerable<InsertItem> items)
- {
- Items.AddRange(items);
- }
-
public InsertClause(params InsertItem[] items)
{
Items.AddRange(items);
@@ -66,13 +52,14 @@ public class InsertClause
return Items.Select(i => i.ColumnName).ToList();
}
- public string GenerateColumnListSql()
+ public string GenerateColumnListSql(string? dbProviderId = null)
{
return string.Join(", ", Items.Select(i => i.ColumnName));
}
- public string GenerateValueListSql(DynamicParameters parameters)
+ public (string sql, DynamicParameters parameters) GenerateValueListSql(string? dbProviderId = null)
{
+ var parameters = new DynamicParameters();
var sb = new StringBuilder();
for (var i = 0; i < Items.Count; i++)
{
@@ -83,6 +70,6 @@ public class InsertClause
sb.Append(", ");
}
- return sb.ToString();
+ return (sb.ToString(), parameters);
}
}