using Exam.ExamManages; using Exam.Infrastructure.Extensions; using Exam.Infrastructure.Web.Utilities; using Hotline.Share.Requests.Exam; using JiebaNet.Segmenter.Common; using System.Linq.Expressions; namespace Hotline.Application.Exam.QueryExtensions.ExamManages { public static class ExtractRuleQueryExtensions { public static Expression> GetExpression(this ExtractRulePagedRequest extractRulePagedRequest) { Expression> expression = m => m.Id != null; expression = ExpressionableUtility.CreateExpression() .AndIF(extractRulePagedRequest.Code.IsNotNullOrEmpty(), x => x.Code.Contains(extractRulePagedRequest.Code)) .AndIF(extractRulePagedRequest.Name.IsNotNullOrEmpty(), x => x.Name.Contains(extractRulePagedRequest.Name)) .AndIF(extractRulePagedRequest.ExamType.IsNotNull(), x => x.RuleType == extractRulePagedRequest.ExamType) .AndIF(extractRulePagedRequest.Status.IsNotNull(), x => x.Status == extractRulePagedRequest.Status).ToExpression(); return expression; } } }