PagedAllResultRequestDto.cs
1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using Volo.Abp.Application.Dtos;
namespace Yi.Framework.Ddd.Application.Contracts
{
/// <summary>
/// 分页查询请求DTO,包含时间范围和自定义排序功能
/// </summary>
public class PagedAllResultRequestDto : PagedAndSortedResultRequestDto, IPagedAllResultRequestDto
{
/// <summary>
/// 查询开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 查询结束时间
/// </summary>
public DateTime? EndTime { get; set; }
/// <summary>
/// 排序列名
/// </summary>
public string? OrderByColumn { get; set; }
/// <summary>
/// 排序方向(ascending/descending)
/// </summary>
public string? IsAsc { get; set; }
/// <summary>
/// 是否为升序排序
/// </summary>
public bool IsAscending => string.Equals(IsAsc, "ascending", StringComparison.OrdinalIgnoreCase);
private string? _sorting;
/// <summary>
/// 排序表达式
/// </summary>
public override string? Sorting
{
get
{
if (!string.IsNullOrWhiteSpace(OrderByColumn))
{
return $"{OrderByColumn} {(IsAscending ? "ASC" : "DESC")}";
}
return _sorting;
}
set => _sorting = value;
}
}
}