Jelajahi Sumber

调整考试新增验证规则

guqiang 1 bulan lalu
induk
melakukan
8611fe97ff

+ 1 - 1
src/Hotline.Application/Exam/QueryExtensions/TestPapers/TestPaperQueryExtensions.cs

@@ -57,7 +57,7 @@ namespace Hotline.Application.Exam.QueryExtensions.TestPapers
             Expression<Func<ExtractRule, bool>> expression = m => m.Id != null;
 
             expression = ExpressionableUtility.CreateExpression<ExtractRule>()
-               .AndIF(testPaperQuestionCountRequest.TestPaperId.IsNotNullOrEmpty(), x => x.Id == testPaperQuestionCountRequest.ExtractRuleId)
+               .AndIF(testPaperQuestionCountRequest.ExtractRuleId.IsNotNullOrEmpty(), x => x.Id == testPaperQuestionCountRequest.ExtractRuleId)
                .ToExpression();
 
             return expression;

+ 1 - 1
src/Hotline.Repository.SqlSugar/Exam/Validators/ExamManages/ExamManageValidator.cs

@@ -53,7 +53,7 @@ namespace Exam.Application
             RuleFor(m => m.TimeSpan).NotNull().WithMessage(x => string.Format(ErrorMessage.IsRequired, x.GetType().GetDescription(nameof(ExamManage.TimeSpan))));
             RuleFor(m => m.StartTime).NotNull().WithMessage(x => string.Format(ErrorMessage.IsRequired, x.GetType().GetDescription(nameof(ExamManage.StartTime))));
             RuleFor(m => m.EndTime).NotNull().WithMessage(x => string.Format(ErrorMessage.IsRequired, x.GetType().GetDescription(nameof(ExamManage.EndTime))));
-            RuleFor(m => m.EndTime).Must((e, v) => e.StartTime < v).WithMessage(x => string.Format(ErrorMessage.Greater, x.GetType().GetDescription(nameof(ExamManage.EndTime)), x.GetType().GetDescription(nameof(ExamManage.StartTime))));
+            RuleFor(m => m.EndTime).Must((e, v) => e.ExamType == EExamType.Formal && e.StartTime < v).WithMessage(x => string.Format(ErrorMessage.Greater, x.GetType().GetDescription(nameof(ExamManage.EndTime)), x.GetType().GetDescription(nameof(ExamManage.StartTime))));
             RuleFor(m => m.TotalScore).NotNull().WithMessage(x => string.Format(ErrorMessage.IsRequired, x.GetType().GetDescription(nameof(ExamManage.TotalScore))));
         }