aboutsummaryrefslogtreecommitdiff
path: root/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-02-19 02:05:39 +0800
committerYuqian Yang <crupest@crupest.life>2025-02-19 02:42:42 +0800
commit4c5df72057fe02257e243de37930a47425a84722 (patch)
treef782d0e85c4a784b659e0da29f0bbf4fc25fc827 /dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs
parent89e31c19bb8fca91c54a73ff7a7f4e837d1dbf93 (diff)
downloadcrupest-4c5df72057fe02257e243de37930a47425a84722.tar.gz
crupest-4c5df72057fe02257e243de37930a47425a84722.tar.bz2
crupest-4c5df72057fe02257e243de37930a47425a84722.zip
chore(docker): remove crupest-api, forgejo and move dropped.
Diffstat (limited to 'dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs')
-rw-r--r--dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs50
1 files changed, 0 insertions, 50 deletions
diff --git a/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs b/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs
deleted file mode 100644
index 734d044..0000000
--- a/dropped/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()));
- }
-}