ExamQuestionQueryExtensions.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Exam.Infrastructure.Extensions;
  2. using Hotline.Share.Requests.Exam;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Linq.Expressions;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using Hotline.Application.Exam.Core.Utilities;
  10. using Hotline.Exams.ExamManages;
  11. namespace Hotline.Application.Exam.QueryExtensions.ExamManages
  12. {
  13. public static class ExamQuestionQueryExtensions
  14. {
  15. public static Expression<Func<ExamManage,bool>> GetExpression(this ExamQuestionGroupRequest examQuestionGroupRequest)
  16. {
  17. Expression<Func<ExamManage, bool>> expression = m => m.Id != null;
  18. expression = ExpressionableUtility.CreateExpression<ExamManage>()
  19. .AndIF(examQuestionGroupRequest.ExamId.IsNotNullOrEmpty(), x => x.Id == examQuestionGroupRequest.ExamId).ToExpression();
  20. return expression;
  21. }
  22. public static Expression<Func<ExamQuestionBak, bool>> GetExpression(this ExamQuestionRequest examQuestionRequest)
  23. {
  24. Expression<Func<ExamQuestionBak, bool>> expression = m => m.Id != null;
  25. expression = ExpressionableUtility.CreateExpression<ExamQuestionBak>()
  26. .AndIF(examQuestionRequest.QuestionId.IsNotNullOrEmpty(), x => x.QuestionId == examQuestionRequest.QuestionId)
  27. .ToExpression();
  28. return expression;
  29. }
  30. public static Expression<Func<ExamUserExam, bool>> GetUserExamExpression(this ExamQuestionRequest examQuestionRequest)
  31. {
  32. Expression<Func<ExamUserExam, bool>> expression = m => m.Id != null;
  33. expression = ExpressionableUtility.CreateExpression<ExamUserExam>()
  34. .AndIF(examQuestionRequest.UserExamId.IsNotNullOrEmpty(), x => x.Id == examQuestionRequest.UserExamId
  35. )
  36. .ToExpression();
  37. return expression;
  38. }
  39. }
  40. }