using DS.Module.Core.Extensions;
using Org.BouncyCastle.Asn1.Ocsp;
using SqlSugar;
using System.ComponentModel;
namespace DS.Module.Core;
///
/// 查询请求实体
///
public class PageRequest
{
///
/// 查询条件
///
public string QueryCondition { get; set; } = string.Empty;
///
/// 其他查询条件
///
public string? OtherQueryCondition { get; set; }
///
/// 分页排序条件
///
public PageCondition? PageCondition { get; set; }
///
/// 获取当前实例的查询条件
///
/// SqlSugar对象
///
/// 当为null时引发
public List GetConditionalModels(ISqlSugarClient client)
{
if (QueryCondition.IsNullOrEmpty())
return [];
ArgumentNullException.ThrowIfNull(client, nameof(client));
return client.ConfigQuery.Context.Utilities.JsonToConditionalModels(QueryCondition);
}
///
/// 获取当前实例的其他查询条件
///
/// SqlSugar对象
///
/// 当为null时引发
public List GetOtherConditionalModels(ISqlSugarClient client)
{
if (OtherQueryCondition.IsNullOrEmpty())
return [];
ArgumentNullException.ThrowIfNull(client, nameof(client));
return client.ConfigQuery.Context.Utilities.JsonToConditionalModels(OtherQueryCondition);
}
public void SetDefaultOrderField(string FieldName, ListSortDirection SortDirection=ListSortDirection.Descending)
{
if (PageCondition.SortConditions == null || PageCondition.SortConditions.Count() == 0)
{
PageCondition.SortConditions = new SortCondition[]{new SortCondition
{
SortField = FieldName,
ListSortDirection = SortDirection
} };
}
}
}
///
/// 查询请求实体的泛型版本
///
/// 查他查询条件的类型
public class PageRequest : PageRequest
{
///
/// 其他查询条件
///
public new T? OtherQueryCondition { get; set; }
}