using Volo.Abp.Application.Dtos;
namespace Yi.Framework.Ddd.Application.Contracts
{
///
/// 分页查询请求DTO,包含时间范围和自定义排序功能
///
public class PagedAllResultRequestDto : PagedAndSortedResultRequestDto, IPagedAllResultRequestDto
{
///
/// 查询开始时间
///
public DateTime? StartTime { get; set; }
///
/// 查询结束时间
///
public DateTime? EndTime { get; set; }
///
/// 排序列名
///
public string? OrderByColumn { get; set; }
///
/// 排序方向(ascending/descending)
///
public string? IsAsc { get; set; }
///
/// 是否为升序排序
///
public bool IsAscending => string.Equals(IsAsc, "ascending", StringComparison.OrdinalIgnoreCase);
private string? _sorting;
///
/// 排序表达式
///
public override string? Sorting
{
get
{
if (!string.IsNullOrWhiteSpace(OrderByColumn))
{
return $"{OrderByColumn} {(IsAscending ? "ASC" : "DESC")}";
}
return _sorting;
}
set => _sorting = value;
}
}
}