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/OrderByClause.cs | 28 +++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs') diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs index bd4f300..68b5d60 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs @@ -1,3 +1,5 @@ +using Dapper; + namespace CrupestApi.Commons.Crud; public class OrderByItem @@ -17,16 +19,19 @@ public class OrderByItem } } -public class OrderByClause : List +public interface IOrderByClause : IClause { - public OrderByClause(IEnumerable items) - : base(items) - { - } + List Items { get; } + (string sql, DynamicParameters parameters) GenerateSql(string? dbProviderId = null); +} + +public class OrderByClause : IOrderByClause +{ + public List Items { get; } = new List(); public OrderByClause(params OrderByItem[] items) - : base(items) { + Items.AddRange(items); } public static OrderByClause Create(params OrderByItem[] items) @@ -34,8 +39,13 @@ public class OrderByClause : List return new OrderByClause(items); } - public string GenerateSql() + public List GetRelatedColumns() { - return "ORDER BY " + string.Join(", ", this.Select(i => i.GenerateSql())); + return Items.Select(x => x.ColumnName).ToList(); } -} \ No newline at end of file + + public (string sql, DynamicParameters parameters) GenerateSql(string? dbProviderId = null) + { + return ("ORDER BY " + string.Join(", ", Items.Select(i => i.GenerateSql())), new DynamicParameters()); + } +} -- cgit v1.2.3