|
@@ -47,8 +47,6 @@ using XF.Domain.Dependency;
|
|
|
using XF.Domain.Exceptions;
|
|
|
using XF.Domain.Repository;
|
|
|
using ExamQuestion = Hotline.Exams.Questions.ExamQuestion;
|
|
|
-using ExamQuestionAnswer = Hotline.Exams.ExamManages.ExamQuestionAnswer;
|
|
|
-using ExamQuestionOptions = Hotline.Exams.ExamManages.ExamQuestionOptions;
|
|
|
|
|
|
namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
{
|
|
@@ -94,7 +92,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
public async Task<ExamQuestionDto> GetExamQuestionDto(ExamQuestionRequest examQuestionRequest)
|
|
|
{
|
|
|
var expression = examQuestionRequest.GetExpression();
|
|
|
- var quesetion = await new ExamRepository<Exams.ExamManages.ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression).FirstAsync();
|
|
|
+ var quesetion = await new ExamRepository<Exams.ExamManages.ExamQuestionBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression).FirstAsync();
|
|
|
|
|
|
if (quesetion != null)
|
|
|
{
|
|
@@ -102,7 +100,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
if (examQuestionDto.QuestionType.CheckSelectType())
|
|
|
{
|
|
|
- var questionOptions = await new ExamRepository<ExamQuestionOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.ExamQuestionId == quesetion.Id).ToListAsync();
|
|
|
+ var questionOptions = await new ExamRepository<ExamQuestionOptionsBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.ExamQuestionId == quesetion.Id).ToListAsync();
|
|
|
|
|
|
List<ExamUserExamItemOptions> userItemItemOptions = await GetUserExteamItemOptios(quesetion);
|
|
|
|
|
@@ -156,7 +154,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
return examAnswers;
|
|
|
}
|
|
|
|
|
|
- private async Task<List<ExamUserExamItemOptions>> GetUserExteamItemOptios(Exams.ExamManages.ExamQuestion quesetion)
|
|
|
+ private async Task<List<ExamUserExamItemOptions>> GetUserExteamItemOptios(Exams.ExamManages.ExamQuestionBak quesetion)
|
|
|
{
|
|
|
var userExamItemOptionsRepository = new ExamRepository<ExamUserExamItemOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
|
|
@@ -179,7 +177,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
var expression = examQuestionGroupRequest.GetExpression();
|
|
|
var examManageTable = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression);
|
|
|
- var testPaperItemTable = new ExamRepository<Exams.ExamManages.ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var testPaperItemTable = new ExamRepository<Exams.ExamManages.ExamQuestionBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
|
|
|
var queryable = await examManageTable.InnerJoin(testPaperItemTable, (e, i) => e.Id == i.ExamId)
|
|
|
.Select((e, i) => i).ToListAsync();
|
|
@@ -202,12 +200,12 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
{
|
|
|
var expression = examQuestionGroupRequest.GetExpression();
|
|
|
var examManageTable = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(expression);
|
|
|
- var testPaperItemTable = new ExamRepository<Exams.ExamManages.ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var testPaperItemTable = new ExamRepository<Exams.ExamManages.ExamQuestionBak>(_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>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.ExamManageId == examQuestionGroupRequest.ExamId).ToListAsync();
|
|
|
+ var examQuestionScores = await new ExamRepository<ExamQuestionScoreBak>(_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);
|
|
@@ -228,7 +226,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private bool CheckCorrect(Exams.ExamManages.ExamQuestion n, List<ExamQuestionScore> examQuestionScores, List<ExamUserExamItem> userExamItems)
|
|
|
+ private bool CheckCorrect(Exams.ExamManages.ExamQuestionBak n, List<ExamQuestionScoreBak> examQuestionScores, List<ExamUserExamItem> userExamItems)
|
|
|
{
|
|
|
var examQuestionScore = examQuestionScores.FirstOrDefault(x => x.QuestionType == n.QuestionType);
|
|
|
var userItem = userExamItems.FirstOrDefault(x => x.QuestionId == n.QuestionId);
|
|
@@ -507,14 +505,14 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
var expression = gradingExamRequest.GetExpression();
|
|
|
var userExamTable = _repository.Queryable().Where(expression);
|
|
|
|
|
|
- var questionScoreRepository = new ExamRepository<ExamQuestionScore>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var questionScoreRepository = new ExamRepository<ExamQuestionScoreBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
|
|
|
var userExamItemTable = _userExamItemRepository.Queryable();
|
|
|
var userExamItemOptionTable = _userExamItemOptionRepository.Queryable();
|
|
|
var examAnswerTable = new ExamRepository<ExamAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
- var questionTable = new ExamRepository<Exams.ExamManages.ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
- var quesitonOptionTable = new ExamRepository<ExamQuestionOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
- var testPaperItemAnswerTable = new ExamRepository<ExamQuestionAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var questionTable = new ExamRepository<Exams.ExamManages.ExamQuestionBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var quesitonOptionTable = new ExamRepository<ExamQuestionOptionsBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var testPaperItemAnswerTable = new ExamRepository<ExamQuestionAnswerBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
var questionScoreTable = questionScoreRepository.Queryable();
|
|
|
|
|
|
var queryResult = await userExamTable.InnerJoin(userExamItemTable, (e, i) => e.Id == i.UserExamId)
|
|
@@ -647,10 +645,10 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
{
|
|
|
if (!addUserExamItemDto.QuestionType.CheckSelectType()) return;
|
|
|
|
|
|
- var testPaperItemOptionsRepository = new ExamRepository<ExamQuestionOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var testPaperItemOptionsRepository = new ExamRepository<ExamQuestionOptionsBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
var examManageRepository = new ExamRepository<ExamManage>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
- var testPaperItemRepository = new ExamRepository<Exams.ExamManages.ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
- var examQuestionScoreRepository = new ExamRepository<ExamQuestionScore>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var testPaperItemRepository = new ExamRepository<Exams.ExamManages.ExamQuestionBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var examQuestionScoreRepository = new ExamRepository<ExamQuestionScoreBak>(_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);
|
|
@@ -709,17 +707,17 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
if (userExamItem != null)
|
|
|
{
|
|
|
- var testPaperItem = new ExamRepository<Exams.ExamManages.ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.Id == userExamItem.Id && !x.QuestionType.CheckSelectType()).First();
|
|
|
+ var testPaperItem = new ExamRepository<Exams.ExamManages.ExamQuestionBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.Id == userExamItem.Id && !x.QuestionType.CheckSelectType()).First();
|
|
|
|
|
|
if (testPaperItem == null) return null;
|
|
|
|
|
|
var gradingExamQuestionDto = new GradingExamQuestionDto();
|
|
|
|
|
|
- gradingExamQuestionDto = _mapper.Map<Exams.ExamManages.ExamQuestion, GradingExamQuestionDto>(testPaperItem, gradingExamQuestionDto);
|
|
|
+ gradingExamQuestionDto = _mapper.Map<Exams.ExamManages.ExamQuestionBak, GradingExamQuestionDto>(testPaperItem, gradingExamQuestionDto);
|
|
|
|
|
|
var examAnswer = new ExamRepository<ExamAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().Where(x => x.UserExamItemId == userExamItem.Id).First();
|
|
|
|
|
|
- var testPaperItemAnswer = await new ExamRepository<ExamQuestionAnswer>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().FirstAsync(x => x.QuestionId == testPaperItem.QuestionId && x.ExamQuestionId == testPaperItem.Id);
|
|
|
+ var testPaperItemAnswer = await new ExamRepository<ExamQuestionAnswerBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable().FirstAsync(x => x.QuestionId == testPaperItem.QuestionId && x.ExamQuestionId == testPaperItem.Id);
|
|
|
|
|
|
gradingExamQuestionDto.Answer = examAnswer.Answer ?? string.Empty;
|
|
|
|
|
@@ -756,7 +754,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
private async Task<UserExamQuestionDto> GetNextExamQuestion(AddUserExamItemDto addUserExamItemDto)
|
|
|
{
|
|
|
// TODO: 获取未阅卷的第一道题
|
|
|
- var testPaperItemRepository = new ExamRepository<Exams.ExamManages.ExamQuestion>(_uow, _dataPermissionFilterBuilder, _serviceProvider);
|
|
|
+ var testPaperItemRepository = new ExamRepository<Exams.ExamManages.ExamQuestionBak>(_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);
|
|
@@ -777,12 +775,12 @@ namespace Hotline.Application.Exam.Service.ExamManages
|
|
|
|
|
|
var userExamQuestionDto = new UserExamQuestionDto();
|
|
|
|
|
|
- userExamQuestionDto = _mapper.Map<Exams.ExamManages.ExamQuestion, UserExamQuestionDto>(question, userExamQuestionDto);
|
|
|
+ userExamQuestionDto = _mapper.Map<Exams.ExamManages.ExamQuestionBak, UserExamQuestionDto>(question, userExamQuestionDto);
|
|
|
|
|
|
if (question.QuestionType.CheckSelectType())
|
|
|
{
|
|
|
var userExamItemOptionTable = _userExamItemOptionRepository.Queryable().Where(x => x.UserExamItemId == userExamItem.Id);
|
|
|
- var quesitonOptionTable = new ExamRepository<ExamQuestionOptions>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
+ var quesitonOptionTable = new ExamRepository<ExamQuestionOptionsBak>(_uow, _dataPermissionFilterBuilder, _serviceProvider).Queryable();
|
|
|
|
|
|
var queryResult = userExamItemOptionTable.InnerJoin(quesitonOptionTable, (u, q) => u.QuestionOptionId == q.Id)
|
|
|
.Select((u, q) => new UserExamItemOptionDto
|