瀏覽代碼

调整考试接口

guqiang 11 小時之前
父節點
當前提交
097e0ecbe4
共有 1 個文件被更改,包括 11 次插入11 次删除
  1. 11 11
      src/Hotline.Application/Exam/Service/ExamManages/UserExamService.cs

+ 11 - 11
src/Hotline.Application/Exam/Service/ExamManages/UserExamService.cs

@@ -50,6 +50,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
         private readonly IUserExamItemRepository _userExamItemRepository;
         private readonly IUserExamItemOptionRepository _userExamItemOptionRepository;
         private readonly IExamAnswerRepository _examAnswerRepository;
+        private readonly IExamManageRepository _examManageRepository;
         private readonly IDataPermissionFilterBuilder _dataPermissionFilterBuilder;
         private readonly IServiceProvider _serviceProvider;
         private readonly IMapper _mapper;
@@ -60,6 +61,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
             IUserExamItemRepository userExamItemRepository,
             IUserExamItemOptionRepository userExamItemOptionRepository,
             IExamAnswerRepository examAnswerRepository,
+            IExamManageRepository examManageRepository,
             IDataPermissionFilterBuilder dataPermissionFilterBuilder, IServiceProvider serviceProvider,
             IMapper mapper, ISessionContext sessionContext) : base(repository, mapper, sessionContext)
         {
@@ -67,6 +69,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
             this._userExamItemRepository = userExamItemRepository;
             this._userExamItemOptionRepository = userExamItemOptionRepository;
             this._examAnswerRepository = examAnswerRepository;
+            this._examManageRepository = examManageRepository;
             this._dataPermissionFilterBuilder = dataPermissionFilterBuilder;
             this._serviceProvider = serviceProvider;
             this._mapper = mapper;
@@ -193,7 +196,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
         public async Task<List<GradingQuestionViewResponce>> GetGradingQuestionViewResponces(ExamQuestionGroupRequest examQuestionGroupRequest)
         {
             var expression = examQuestionGroupRequest.GetExpression();
-            var examManageTable = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression);
+            var examManageTable = _examManageRepository.Queryable().Where(expression);
             var testPaperItemTable = new ExamRepository<Exams.ExamManages.ExamQuestionBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
 
             var queryable = await examManageTable.InnerJoin(testPaperItemTable, (e, i) => e.Id == i.ExamId)
@@ -284,12 +287,11 @@ namespace Hotline.Application.Exam.Service.ExamManages
 
             if (userExams.All(x => x.IsSubmit))
             {
-                var repository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
-                var examManage = await repository.GetAsync(x=>x.Id == examId);
+                var examManage = await _examManageRepository.GetAsync(x=>x.Id == examId);
 
                 examManage.ExamStatus = EExamStatus.Complete;
 
-                await repository.UpdateWithValidateAsync(examManage, cancellationToken);
+                await _examManageRepository.UpdateWithValidateAsync(examManage, cancellationToken);
             }
         }
 
@@ -343,14 +345,13 @@ namespace Hotline.Application.Exam.Service.ExamManages
             userExam.ToUpdate(_sessionContext);
 
             await _repository.UpdateWithValidateAsync(userExam, cancellationToken);
+   
 
-            var repository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);            
-
-            var examManage = await repository.GetAsync(x => x.Id == userExam.ExamId);
+            var examManage = await _examManageRepository.GetAsync(x => x.Id == userExam.ExamId);
 
             examManage.ExamStatus = EExamStatus.Executing;
 
-            await repository.UpdateWithValidateAsync(examManage, cancellationToken);
+            await _examManageRepository.UpdateWithValidateAsync(examManage, cancellationToken);
 
             return new StartExamViewResponse
             {
@@ -362,9 +363,8 @@ namespace Hotline.Application.Exam.Service.ExamManages
 
         private async Task<StartExamViewResponse> CheckExamValid(ExamUserExam examUserExam, CancellationToken cancellationToken)
         {
-            var examManageRepository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
 
-            var examManage = await examManageRepository.Queryable().Where(x => x.Id == examUserExam.ExamId).FirstAsync();            
+            var examManage = await _examManageRepository.Queryable().Where(x => x.Id == examUserExam.ExamId).FirstAsync();            
 
             var startExamViewResponse = new StartExamViewResponse
             {
@@ -394,7 +394,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
             if (examManage.ExamStatus== EExamStatus.NoStart)
             {
                 examManage.ExamStatus = EExamStatus.Executing;
-                await examManageRepository.UpdateWithValidateAsync(examManage,cancellationToken);
+                await _examManageRepository.UpdateWithValidateAsync(examManage,cancellationToken);
             }
 
                 startExamViewResponse.TimeSpan = examManage?.TimeSpan ?? 0;