diff options
author | crupest <crupest@outlook.com> | 2024-11-11 01:12:29 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2024-12-19 21:42:01 +0800 |
commit | f9aa02ec1a4c24e80a206857d4f68198bb027bb4 (patch) | |
tree | 5994f0a62733b13f9f330e3515260ae20dc4a0bd /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs | |
parent | 7b4d49e4bbdff6ddf1f8f7e937130e700024d5e9 (diff) | |
download | crupest-f9aa02ec1a4c24e80a206857d4f68198bb027bb4.tar.gz crupest-f9aa02ec1a4c24e80a206857d4f68198bb027bb4.tar.bz2 crupest-f9aa02ec1a4c24e80a206857d4f68198bb027bb4.zip |
HALF WORK: 2024.12.19
Re-organize file structure.
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs')
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs deleted file mode 100644 index 734d044..0000000 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs +++ /dev/null @@ -1,50 +0,0 @@ -namespace CrupestApi.Commons.Crud; - -public class OrderByItem -{ - public OrderByItem(string columnName, bool isAscending) - { - ColumnName = columnName; - IsAscending = isAscending; - } - - public string ColumnName { get; } - public bool IsAscending { get; } - - public string GenerateSql() - { - return $"{ColumnName} {(IsAscending ? "ASC" : "DESC")}"; - } -} - -public interface IOrderByClause : IClause -{ - List<OrderByItem> Items { get; } - // Contains "ORDER BY" keyword! - string GenerateSql(string? dbProviderId = null); -} - -public class OrderByClause : IOrderByClause -{ - public List<OrderByItem> Items { get; } = new List<OrderByItem>(); - - public OrderByClause(params OrderByItem[] items) - { - Items.AddRange(items); - } - - public static OrderByClause Create(params OrderByItem[] items) - { - return new OrderByClause(items); - } - - public List<string> GetRelatedColumns() - { - return Items.Select(x => x.ColumnName).ToList(); - } - - public string GenerateSql(string? dbProviderId = null) - { - return "ORDER BY " + string.Join(", ", Items.Select(i => i.GenerateSql())); - } -} |