1234567891011121314151617181920212223242526272829 |
- using Luticate2.Auth.Utils.Business.Utils;
- using Luticate2.Auth.Utils.Dbo;
- using Luticate2.Auth.Utils.Dbo.Pagination;
- using Luticate2.Auth.Utils.Dbo.Result;
-
- namespace Luticate2.Auth.Utils.Business.Pagination
- {
- public class LuFilterParser
- {
- public static LuResult<LuFilterDbo> Parse<T>(string data, LuExpressionUtils.LuExpressionParserOptions options)
- {
- if (string.IsNullOrWhiteSpace(data))
- {
- return LuResult<LuFilterDbo>.Ok(new LuFilterDbo
- {
- Expression = null
- });
- }
-
- var completeData = $"(x) => ({data})";
- var expressionResult = LuExpressionUtils.Parse<T, bool>(completeData, options);
-
- return expressionResult.Select(expression => new LuFilterDbo
- {
- Expression = expression
- });
- }
- }
- }
|