From a7fb0508867ee53934be18a6606aa8bc12c2645b Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 11 Nov 2024 01:12:29 +0800 Subject: HALF WORK: 2024.12.19 Re-organize file structure. --- .../CrupestApi.Commons/Crud/UpdateClause.cs | 77 ---------------------- 1 file changed, 77 deletions(-) delete mode 100644 docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/UpdateClause.cs (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/UpdateClause.cs') diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/UpdateClause.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/UpdateClause.cs deleted file mode 100644 index de5c6c3..0000000 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/UpdateClause.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System.Text; - -namespace CrupestApi.Commons.Crud; - -public class UpdateItem -{ - public UpdateItem(string columnName, object? value) - { - ColumnName = columnName; - Value = value; - } - - public string ColumnName { get; set; } - public object? Value { get; set; } -} - -public interface IUpdateClause : IClause -{ - List Items { get; } - (string sql, ParamList parameters) GenerateSql(); -} - -public class UpdateClause : IUpdateClause -{ - public List Items { get; } = new List(); - - public UpdateClause(IEnumerable items) - { - Items.AddRange(items); - } - - public UpdateClause(params UpdateItem[] items) - { - Items.AddRange(items); - } - - public UpdateClause Add(params UpdateItem[] items) - { - Items.AddRange(items); - return this; - } - - public UpdateClause Add(string column, object? value) - { - return Add(new UpdateItem(column, value)); - } - - public static UpdateClause Create(params UpdateItem[] items) - { - return new UpdateClause(items); - } - - public List GetRelatedColumns() - { - return Items.Select(i => i.ColumnName).ToList(); - } - - public (string sql, ParamList parameters) GenerateSql() - { - var parameters = new ParamList(); - - StringBuilder result = new StringBuilder(); - - foreach (var item in Items) - { - if (result.Length > 0) - { - result.Append(", "); - } - - var parameterName = parameters.AddRandomNameParameter(item.Value, item.ColumnName); - result.Append($"{item.ColumnName} = @{parameterName}"); - } - - return (result.ToString(), parameters); - } -} -- cgit v1.2.3