DataEntityFilter.cs 973 B

123456789101112131415161718192021222324252627282930313233
  1. using Admin.NET.Application.Entity;
  2. using Admin.NET.Core;
  3. using Furion;
  4. using SqlSugar;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq.Expressions;
  8. namespace Admin.NET.Application.Filter
  9. {
  10. /// <summary>
  11. /// 自定义业务实体过滤器(XXX数据)
  12. /// </summary>
  13. public class DataEntityFilter : IEntityFilter
  14. {
  15. public IEnumerable<TableFilterItem<object>> AddEntityFilter()
  16. {
  17. // 当前用户所属机构
  18. var orgName = App.User?.FindFirst(ClaimConst.OrgName)?.Value;
  19. if (string.IsNullOrWhiteSpace(orgName))
  20. return null;
  21. // 构造自定义条件的过滤器
  22. Expression<Func<Test, bool>> dynamicExpression = u => u.Name.Contains(orgName);
  23. var tableFilterItem = new TableFilterItem<object>(typeof(Test), dynamicExpression);
  24. return new[]
  25. {
  26. tableFilterItem
  27. };
  28. }
  29. }
  30. }