|
@@ -88,7 +88,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
public async Task<ExamQuestionDto> GetExamQuestionDto(ExamQuestionRequest examQuestionRequest)
|
|
|
{
|
|
|
var expression = examQuestionRequest.GetExpression();
|
|
|
- var quesetion = await new ExamRepository<ExamQuestion>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression).FirstAsync();
|
|
|
+ var quesetion = await new ExamRepository<ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression).FirstAsync();
|
|
|
|
|
|
if (quesetion != null)
|
|
|
{
|
|
@@ -96,7 +96,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
if (examQuestionDto.QuestionType.CheckSelectType())
|
|
|
{
|
|
|
- var questionOptions = await new ExamRepository<ExamQuestionOptions>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.ExamQuestionId == quesetion.Id).ToListAsync();
|
|
|
+ var questionOptions = await new ExamRepository<ExamQuestionOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.ExamQuestionId == quesetion.Id).ToListAsync();
|
|
|
|
|
|
if (questionOptions != null)
|
|
|
{
|
|
@@ -123,8 +123,8 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
public async Task<List<ExamQuestionViewResponse>> GetExamQuestionViewResponses(ExamQuestionGroupRequest examQuestionGroupRequest)
|
|
|
{
|
|
|
var expression = examQuestionGroupRequest.GetExpression();
|
|
|
- var examManageTable = new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression);
|
|
|
- var testPaperItemTable = new ExamRepository<ExamQuestion>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var examManageTable = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression);
|
|
|
+ var testPaperItemTable = new ExamRepository<ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
|
|
|
var queryable = await examManageTable.InnerJoin(testPaperItemTable, (e, i) => e.Id == i.ExamId)
|
|
|
.Select((e, i) => i).ToListAsync();
|
|
@@ -146,13 +146,13 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
public async Task<List<GradingQuestionViewResponce>> GetGradingQuestionViewResponces(ExamQuestionGroupRequest examQuestionGroupRequest)
|
|
|
{
|
|
|
var expression = examQuestionGroupRequest.GetExpression();
|
|
|
- var examManageTable = new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression);
|
|
|
- var testPaperItemTable = new ExamRepository<ExamQuestion>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var examManageTable = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression);
|
|
|
+ var testPaperItemTable = new ExamRepository<ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
|
|
|
var queryable = await examManageTable.InnerJoin(testPaperItemTable, (e, i) => e.Id == i.ExamId)
|
|
|
.Select((e, i) => i).ToListAsync();
|
|
|
|
|
|
- var examQuestionScores = await new ExamRepository<ExamQuestionScore>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.ExamManageId == examQuestionGroupRequest.ExamId).ToListAsync();
|
|
|
+ var examQuestionScores = await new ExamRepository<ExamQuestionScore>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.ExamManageId == examQuestionGroupRequest.ExamId).ToListAsync();
|
|
|
|
|
|
var userExamItemTable = _userExamItemRepository.Queryable();
|
|
|
var userExamTable = _repository.Queryable().Where(x => x.ExamId == examQuestionGroupRequest.ExamId && x.UserId == examQuestionGroupRequest.UserId);
|
|
@@ -229,7 +229,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
public async Task<StartExamViewResponse> ExamAsync(UpdateUserExamItemDto addUserExamItemDto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- var userExam = await new ExamRepository<UserExam>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.Id == addUserExamItemDto.UserExamId).FirstAsync();
|
|
|
+ var userExam = await new ExamRepository<UserExam>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.Id == addUserExamItemDto.UserExamId).FirstAsync();
|
|
|
|
|
|
var startExamViewResponse = await CheckExamValid(userExam);
|
|
|
|
|
@@ -238,7 +238,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
return startExamViewResponse;
|
|
|
}
|
|
|
|
|
|
- var userExamRepository = new ExamRepository<UserExamItem>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var userExamRepository = new ExamRepository<UserExamItem>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
|
|
|
var hasUserExamItem = userExamRepository.Queryable().Where(x => x.UserExamId == addUserExamItemDto.UserExamId && x.QuestionId == addUserExamItemDto.QuestionId).Any();
|
|
|
|
|
@@ -289,7 +289,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
private async Task<StartExamViewResponse> CheckExamValid(UserExam userExam)
|
|
|
{
|
|
|
- var examManageRepository = new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var examManageRepository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
|
|
|
var examManage = await examManageRepository.Queryable().Where(x => x.Id == userExam.ExamId).FirstAsync();
|
|
|
|
|
@@ -339,7 +339,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var count = new ExamRepository<UserExam>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).CountAsync(x => x.ExamId == examManage.Id && x.UserId == userExam.UserId).Result;
|
|
|
+ var count = new ExamRepository<UserExam>(_uow, _dataPermissionFilterBuilder, _serviceProvider).CountAsync(x => x.ExamId == examManage.Id && x.UserId == userExam.UserId).Result;
|
|
|
|
|
|
var checkStartTime = new CheckValidateCountStrategy(examManage.Count, count)
|
|
|
{
|
|
@@ -426,7 +426,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
var totalScore = userExamItems.Sum(x => x.Score);
|
|
|
userExam.Score = totalScore;
|
|
|
|
|
|
- var examManage = await new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).GetAsync(x => x.Id == userExam.ExamId);
|
|
|
+ var examManage = await new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider).GetAsync(x => x.Id == userExam.ExamId);
|
|
|
userExam.IsSuccess = totalScore >= examManage.CutoffScore;
|
|
|
|
|
|
userExam.ExamStatus = Share.Enums.Exams.EExamStatus.Complete;
|
|
@@ -442,14 +442,14 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
var expression = gradingExamRequest.GetExpression();
|
|
|
var userExamTable = _repository.Queryable().Where(expression);
|
|
|
|
|
|
- var questionScoreRepository = new ExamRepository<ExamQuestionScore>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var questionScoreRepository = new ExamRepository<ExamQuestionScore>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
|
|
|
var userExamItemTable = _userExamItemRepository.Queryable();
|
|
|
var userExamItemOptionTable = _userExamItemOptionRepository.Queryable();
|
|
|
- var examAnswerTable = new ExamRepository<ExamAnswer>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
- var questionTable = new ExamRepository<ExamQuestion>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
- var quesitonOptionTable = new ExamRepository<ExamQuestionOptions>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
- var testPaperItemAnswerTable = new ExamRepository<ExamQuestionAnswer>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var examAnswerTable = new ExamRepository<ExamAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var questionTable = new ExamRepository<ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var quesitonOptionTable = new ExamRepository<ExamQuestionOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var testPaperItemAnswerTable = new ExamRepository<ExamQuestionAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
var questionScoreTable = questionScoreRepository.Queryable();
|
|
|
|
|
|
var queryResult = await userExamTable.InnerJoin(userExamItemTable, (e, i) => e.Id == i.UserExamId)
|
|
@@ -508,8 +508,8 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
{
|
|
|
unExamUserReportPagedRequest.ResoleEndTime();
|
|
|
|
|
|
- var examManageRepository = new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
- var userRepository = new ExamRepository<User>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var examManageRepository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var userRepository = new ExamRepository<User>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
|
|
|
var expression = unExamUserReportPagedRequest.GetExpression();
|
|
|
var userExamExpression = unExamUserReportPagedRequest.GetUserExamExpression();
|
|
@@ -541,8 +541,8 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
{
|
|
|
userExamResultReportPagedRequest.ResoleEndTime();
|
|
|
|
|
|
- var examManageRepository = new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
- var userRepository = new ExamRepository<User>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var examManageRepository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var userRepository = new ExamRepository<User>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
|
|
|
var expression = userExamResultReportPagedRequest.GetExpression();
|
|
|
var userExamExpression = userExamResultReportPagedRequest.GetUserExamExpression();
|
|
@@ -582,10 +582,10 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
{
|
|
|
if (!addUserExamItemDto.QuestionType.CheckSelectType()) return;
|
|
|
|
|
|
- var testPaperItemOptionsRepository = new ExamRepository<ExamQuestionOptions>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
- var examManageRepository = new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
- var testPaperItemRepository = new ExamRepository<ExamQuestion>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
- var examQuestionScoreRepository = new ExamRepository<ExamQuestionScore>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var testPaperItemOptionsRepository = new ExamRepository<ExamQuestionOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var examManageRepository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var testPaperItemRepository = new ExamRepository<ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var examQuestionScoreRepository = new ExamRepository<ExamQuestionScore>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
var testPaperOptionsTable = testPaperItemOptionsRepository.Queryable().Where(x => x.QuestionId == addUserExamItemDto.QuestionId && x.IsAnswer);
|
|
|
var testPaperItemTable = testPaperItemRepository.Queryable();
|
|
|
var userExamTable = _repository.Queryable().Where(x => x.Id == addUserExamItemDto.UserExamId);
|
|
@@ -644,7 +644,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
if (userExamItem != null)
|
|
|
{
|
|
|
- var testPaperItem = new ExamRepository<ExamQuestion>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.Id == userExamItem.Id && !x.QuestionType.CheckSelectType()).First();
|
|
|
+ var testPaperItem = new ExamRepository<ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.Id == userExamItem.Id && !x.QuestionType.CheckSelectType()).First();
|
|
|
|
|
|
if (testPaperItem == null) return null;
|
|
|
|
|
@@ -652,9 +652,9 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
gradingExamQuestionDto = _mapper.Map<ExamQuestion, GradingExamQuestionDto>(testPaperItem, gradingExamQuestionDto);
|
|
|
|
|
|
- var examAnswer = new ExamRepository<ExamAnswer>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.UserExamItemId == userExamItem.Id).First();
|
|
|
+ var examAnswer = new ExamRepository<ExamAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.UserExamItemId == userExamItem.Id).First();
|
|
|
|
|
|
- var testPaperItemAnswer = await new ExamRepository<ExamQuestionAnswer>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().FirstAsync(x => x.QuestionId == testPaperItem.QuestionId && x.ExamQuestionId == testPaperItem.Id);
|
|
|
+ var testPaperItemAnswer = await new ExamRepository<ExamQuestionAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().FirstAsync(x => x.QuestionId == testPaperItem.QuestionId && x.ExamQuestionId == testPaperItem.Id);
|
|
|
|
|
|
gradingExamQuestionDto.Answer = examAnswer.Answer ?? string.Empty;
|
|
|
|
|
@@ -682,7 +682,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
examAnswer.ToInsert(_sessionContext);
|
|
|
|
|
|
- await new ExamRepository<ExamAnswer>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).ValidateAddAsync(examAnswer, cancellationToken);
|
|
|
+ await new ExamRepository<ExamAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).ValidateAddAsync(examAnswer, cancellationToken);
|
|
|
|
|
|
return examAnswers;
|
|
|
}
|
|
@@ -691,8 +691,8 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
private async Task<UserExamQuestionDto> GetNextExamQuestion(AddUserExamItemDto addUserExamItemDto)
|
|
|
{
|
|
|
// TODO: 获取未阅卷的第一道题
|
|
|
- var testPaperItemRepository = new ExamRepository<ExamQuestion>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
- var examRepository = new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var testPaperItemRepository = new ExamRepository<ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var examRepository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
var userExamTable = _repository.Queryable().Where(x => x.Id == addUserExamItemDto.UserExamId);
|
|
|
var userExamItemTable = _userExamItemRepository.Queryable().WhereIF(addUserExamItemDto.QuestionId.IsNotNullOrEmpty(), x => x.QuestionId == addUserExamItemDto.QuestionId);
|
|
|
var examTable = examRepository.Queryable();
|
|
@@ -717,7 +717,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
if (question.QuestionType.CheckSelectType())
|
|
|
{
|
|
|
var userExamItemOptionTable = _userExamItemOptionRepository.Queryable().Where(x => x.UserExamItemId == userExamItem.Id);
|
|
|
- var quesitonOptionTable = new ExamRepository<ExamQuestionOptions>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var quesitonOptionTable = new ExamRepository<ExamQuestionOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
|
|
|
var queryResult = userExamItemOptionTable.InnerJoin(quesitonOptionTable, (u, q) => u.QuestionOptionId == q.Id)
|
|
|
.Select((u, q) => new UserExamItemOptionDto
|
|
@@ -731,7 +731,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var examAnswer = new ExamRepository<ExamAnswer>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.UserExamItemId == userExamItem.Id).First();
|
|
|
+ var examAnswer = new ExamRepository<ExamAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.UserExamItemId == userExamItem.Id).First();
|
|
|
|
|
|
userExamQuestionDto.Answer = examAnswer.Answer ?? string.Empty;
|
|
|
}
|
|
@@ -748,7 +748,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
private async Task<List<ExamAnswer>> UpdateExamAnswer(UpdateUserExamItemDto updateUserExamItemDto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- var repository = new ExamRepository<ExamAnswer>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var repository = new ExamRepository<ExamAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
|
|
|
var examAnswerTable = repository.Queryable();
|
|
|
|
|
@@ -916,7 +916,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
var userExamTable = _repository.Queryable().Where(expression);
|
|
|
|
|
|
var examManageExpression = queryRequest.GetExamManageExpression();
|
|
|
- var examManageTable = new ExamRepository<ExamManage>(_repository.UOW, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(examManageExpression);
|
|
|
+ var examManageTable = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(examManageExpression);
|
|
|
|
|
|
var queryable = userExamTable.InnerJoin(examManageTable, (u, e) => u.ExamId == e.Id).Select((u, e) => new UserExamResultViewResponse
|
|
|
{
|