123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using Exam.Infrastructure.Extensions;
- using Exam.Infrastructure.Web.Utilities;
- using Exam.Trains;
- using Hotline.Application.Exam.Extensions;
- using Hotline.Exams.Trains;
- using Hotline.Share.Requests.Train;
- using JiebaNet.Segmenter.Common;
- using System.Linq.Expressions;
- namespace Hotline.Application.Exam.QueryExtensions.Trains
- {
- public static class TrainPlanQueryExtensions
- {
- public static Expression<Func<TrainPlan,bool>> GetExpression(this TrainPlanPagedRequest trainPlanPagedRequest)
- {
- Expression<Func<TrainPlan, bool>> expression = m => m.Id != null;
- expression = ExpressionableUtility.CreateExpression<TrainPlan>()
- .AndIF(trainPlanPagedRequest.Code.IsNotNullOrEmpty(), x => x.Code.Contains(trainPlanPagedRequest.Code))
- .AndIF(trainPlanPagedRequest.Name.IsNotNullOrEmpty(), x => x.Name.Contains(trainPlanPagedRequest.Name))
- .AndIF(trainPlanPagedRequest.MaxStartTime.IsNotNull(), x => x.TrainStartTime <= trainPlanPagedRequest.MaxStartTime)
- .AndIF(trainPlanPagedRequest.MinStartTime.IsNotNull(), x => x.TrainEndTime >= trainPlanPagedRequest.MinStartTime)
- .ToExpression();
- return expression;
- }
- public static Expression<Func<TrainPlanTemplate,bool>> GetTemplateExpression(this TrainPlanPagedRequest trainPlanPagedRequest)
- {
- Expression<Func<TrainPlanTemplate, bool>> expression = m => m.Id != null;
- expression = ExpressionableUtility.CreateExpression<TrainPlanTemplate>()
- .AndIF(trainPlanPagedRequest.TrainTemplateIds.IsNotNullOrEmpty(), x => trainPlanPagedRequest.TrainTemplateIds.Contains(x.TrainTemplateId))
- .ToExpression();
- return expression;
- }
- public static Expression<Func<TrainPlan, bool>> GetExpression(this TrainResultReportPagedRequest trainResultReportPagedRequest)
- {
- Expression<Func<TrainPlan, bool>> expression = m => m.Id != null;
- expression = ExpressionableUtility.CreateExpression<TrainPlan>()
- .AndIF(trainResultReportPagedRequest.StartTime.IsNotNull(), x => x.TrainStartTime >= trainResultReportPagedRequest.StartTime)
- .AndIF(trainResultReportPagedRequest.EndTime.IsNotNull(), x => x.TrainStartTime <= trainResultReportPagedRequest.EndTime)
- .ToExpression();
- return expression;
- }
- public static Expression<Func<TrainTemplate, bool>> GetTemplateExpression(this TrainResultReportPagedRequest trainResultReportPagedRequest)
- {
- Expression<Func<TrainTemplate, bool>> expression = m => m.Id != null;
- expression = ExpressionableUtility.CreateExpression<TrainTemplate>()
- .AndIF(trainResultReportPagedRequest.Keyword.IsNotNullOrEmpty(), x => x.Name.Contains(trainResultReportPagedRequest.Keyword))
- .ToExpression();
- return expression;
- }
- }
- }
|