Blame view

Yi.Abp.Net8/framework/Yi.Framework.Ddd.Application.Contracts/PagedAllResultRequestDto.cs 1.44 KB
515fceeb   “wangming”   框架初始化
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;
          }
      }
  }