From f357eefb805b0078588d97c72d3d8b047025b842 Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 5 Dec 2022 20:28:58 +0800 Subject: Develop secret api. v10 --- .../CrupestApi.Commons/Crud/OrderByClause.cs | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs (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 new file mode 100644 index 0000000..bd4f300 --- /dev/null +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/OrderByClause.cs @@ -0,0 +1,41 @@ +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 class OrderByClause : List +{ + public OrderByClause(IEnumerable items) + : base(items) + { + } + + public OrderByClause(params OrderByItem[] items) + : base(items) + { + } + + public static OrderByClause Create(params OrderByItem[] items) + { + return new OrderByClause(items); + } + + public string GenerateSql() + { + return "ORDER BY " + string.Join(", ", this.Select(i => i.GenerateSql())); + } +} \ No newline at end of file -- cgit v1.2.3