Client/AntDesignClient/Gardener.Client.AntDesignUi.Base/Extensions/QueryModelExtension.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
// -----------------------------------------------------------------------------
// 园丁,是个很简单的管理系统
// gitee:https://gitee.com/hgflydream/Gardener
// issues:https://gitee.com/hgflydream/Gardener/issues
// -----------------------------------------------------------------------------
using AntDesign.TableModels;
using Gardener.Base;
using Mapster;
namespace AntDesign
{
public static class QueryModelExtension
{
/// <summary>
/// QueryModel 转换成api的数据结构
/// </summary>
/// <param name="queryModel"></param>
/// <returns></returns>
public static List<FilterGroup> GetFilterGroups(this ITable table)
{
QueryModel queryModel = table.GetQueryModel();
List<FilterGroup> filterGroups = new List<FilterGroup>();
if (queryModel != null)
{
foreach (ITableFilterModel model in queryModel.FilterModel)
{
FilterGroup fieldGroup = new FilterGroup();
filterGroups.Add(fieldGroup);
IList<TableFilter> tableFilters = model.Filters;
foreach (TableFilter filter in tableFilters)
{
FilterOperate operate = FilterOperate.Equal;
switch (filter.FilterCompareOperator)
{
case TableFilterCompareOperator.Equals: operate = FilterOperate.Equal; break;
case TableFilterCompareOperator.IsNull: operate = FilterOperate.Equal; break;
case TableFilterCompareOperator.NotEquals: operate = FilterOperate.NotEqual; break;
case TableFilterCompareOperator.IsNotNull: operate = FilterOperate.NotEqual; break;
case TableFilterCompareOperator.Contains: operate = FilterOperate.Contains; break;
case TableFilterCompareOperator.NotContains: operate = FilterOperate.NotContains; break;
case TableFilterCompareOperator.StartsWith: operate = FilterOperate.StartsWith; break;
case TableFilterCompareOperator.EndsWith: operate = FilterOperate.EndsWith; break;
case TableFilterCompareOperator.LessThan: operate = FilterOperate.Less; break;
case TableFilterCompareOperator.LessThanOrEquals: operate = FilterOperate.LessOrEqual; break;
case TableFilterCompareOperator.GreaterThan: operate = FilterOperate.Greater; break;
case TableFilterCompareOperator.GreaterThanOrEquals: operate = FilterOperate.GreaterOrEqual; break;
}
FilterRule rule = new FilterRule(model.FieldName, filter.Value, operate);
rule.Condition = filter.FilterCondition.Equals(TableFilterCondition.And) ? FilterCondition.And : FilterCondition.Or;
fieldGroup.Rules.Add(rule);
}
}
}
return filterGroups;
}
/// <summary>
后面还有 39 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
