From a9b726661d018eb8f379851c733f1676f5ac067d Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 7 Dec 2022 20:41:20 +0800 Subject: Develop secret api. v17 --- .../CrupestApi.Commons/Crud/InsertClause.cs | 35 +++++++--------------- 1 file changed, 11 insertions(+), 24 deletions(-) (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/InsertClause.cs') 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 pair) - { - ColumnName = pair.Key; - Value = pair.Value; - } - public string ColumnName { get; set; } public object? Value { get; set; } +} - public static implicit operator KeyValuePair(InsertItem item) - { - return new(item.ColumnName, item.Value); - } - - public static implicit operator InsertItem(KeyValuePair pair) - { - return new(pair); - } +public interface IInsertClause : IClause +{ + List Items { get; } + string GenerateColumnListSql(string? dbProviderId = null); + (string sql, DynamicParameters parameters) GenerateValueListSql(string? dbProviderId = null); } -public class InsertClause +public class InsertClause : IInsertClause { public List Items { get; } = new List(); - public InsertClause(IEnumerable 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); } } -- cgit v1.2.3