重构项目结构,移除Assignment相关功能,优化Submission模块
Some checks failed
TechAct / explore-gitea-actions (push) Failing after 12s
Some checks failed
TechAct / explore-gitea-actions (push) Failing after 12s
This commit is contained in:
@@ -81,7 +81,7 @@ namespace TechHelper.Server.Services
|
||||
orderBy: s => s.OrderByDescending(s => s.SubmissionTime),
|
||||
predicate: s => !s.IsDeleted,
|
||||
include: i => i.Include(s => s.Student)
|
||||
.Include(s => s.Assignment));
|
||||
.Include(s => s.Exam));
|
||||
|
||||
var submissionDtos = _mapper.Map<List<SubmissionDto>>(pagedSubmissions.Items);
|
||||
|
||||
@@ -109,10 +109,10 @@ namespace TechHelper.Server.Services
|
||||
predicate: sd => sd.StudentId == userId && sd.IsCorrect == false &&
|
||||
(sd.Status == SubmissionStatus.Submitted || sd.Status == SubmissionStatus.Graded),
|
||||
include: i => i
|
||||
.Include(s => s.AssignmentQuestion)
|
||||
.Include(s => s.ExamQuestion)
|
||||
.ThenInclude(aq => aq.Question));
|
||||
|
||||
var errorQuestions = errorSDs.Items.Select(sd => sd.AssignmentQuestion.Question)
|
||||
var errorQuestions = errorSDs.Items.Select(sd => sd.ExamQuestion.Question)
|
||||
.Where(q => q != null)
|
||||
.DistinctBy(q => q.Id)
|
||||
.ToList();
|
||||
@@ -132,18 +132,18 @@ namespace TechHelper.Server.Services
|
||||
try
|
||||
{
|
||||
var errorSDs = await _submissionDetailRepository.GetPagedListAsync(
|
||||
predicate: sd => sd.Submission.AssignmentId == assignmentId &&
|
||||
predicate: sd => sd.Submission.ExamId == assignmentId &&
|
||||
sd.StudentId == userId &&
|
||||
sd.IsCorrect == false &&
|
||||
(sd.Status == SubmissionStatus.Submitted || sd.Status == SubmissionStatus.Graded),
|
||||
include: i => i
|
||||
.Include(s => s.AssignmentQuestion)
|
||||
.Include(s => s.ExamQuestion)
|
||||
.ThenInclude(aq => aq.Question));
|
||||
|
||||
// 对错题按类型进行分组计数
|
||||
var errorTypeDistribution = errorSDs.Items
|
||||
.Where(sd => sd.AssignmentQuestion?.Question != null)
|
||||
.GroupBy(sd => sd.AssignmentQuestion.Question.Type)
|
||||
.Where(sd => sd.ExamQuestion?.Question != null)
|
||||
.GroupBy(sd => sd.ExamQuestion.Question.Type)
|
||||
.Select(g => new
|
||||
{
|
||||
QuestionType = g.Key.ToString(),
|
||||
@@ -164,7 +164,7 @@ namespace TechHelper.Server.Services
|
||||
try
|
||||
{
|
||||
var submissionDetails = await _submissionDetailRepository.GetPagedListAsync(
|
||||
predicate: sd => sd.Submission.AssignmentId == assignmentId &&
|
||||
predicate: sd => sd.Submission.ExamId == assignmentId &&
|
||||
sd.IsCorrect == false &&
|
||||
(sd.Status == SubmissionStatus.Submitted || sd.Status == SubmissionStatus.Graded),
|
||||
include: i => i.Include(sd => sd.Student));
|
||||
@@ -194,15 +194,15 @@ namespace TechHelper.Server.Services
|
||||
try
|
||||
{
|
||||
var errorSDs = await _submissionDetailRepository.GetPagedListAsync(
|
||||
predicate: sd => sd.Submission.AssignmentId == assignmentId &&
|
||||
predicate: sd => sd.Submission.ExamId == assignmentId &&
|
||||
sd.StudentId == userId &&
|
||||
sd.IsCorrect == false &&
|
||||
(sd.Status == SubmissionStatus.Submitted || sd.Status == SubmissionStatus.Graded),
|
||||
include: i => i
|
||||
.Include(s => s.AssignmentQuestion)
|
||||
.Include(s => s.ExamQuestion)
|
||||
.ThenInclude(aq => aq.Question));
|
||||
|
||||
var errorQuestions = errorSDs.Items.Select(sd => sd.AssignmentQuestion.Question)
|
||||
var errorQuestions = errorSDs.Items.Select(sd => sd.ExamQuestion.Question)
|
||||
.Where(q => q != null)
|
||||
.DistinctBy(q => q.Id)
|
||||
.ToList();
|
||||
@@ -221,17 +221,17 @@ namespace TechHelper.Server.Services
|
||||
try
|
||||
{
|
||||
var errorSDs = await _submissionDetailRepository.GetPagedListAsync(
|
||||
predicate: sd => sd.Submission.AssignmentId == assignmentId &&
|
||||
predicate: sd => sd.Submission.ExamId == assignmentId &&
|
||||
sd.StudentId == userId &&
|
||||
sd.IsCorrect == false &&
|
||||
(sd.Status == SubmissionStatus.Submitted || sd.Status == SubmissionStatus.Graded),
|
||||
include: i => i
|
||||
.Include(s => s.AssignmentQuestion)
|
||||
.Include(s => s.ExamQuestion)
|
||||
.ThenInclude(aq => aq.Question));
|
||||
|
||||
var errorTypeDistribution = errorSDs.Items
|
||||
.Where(sd => sd.AssignmentQuestion?.Question != null)
|
||||
.GroupBy(sd => sd.AssignmentQuestion.Question.Type)
|
||||
.Where(sd => sd.ExamQuestion?.Question != null)
|
||||
.GroupBy(sd => sd.ExamQuestion.Question.Type)
|
||||
.Select(g => new
|
||||
{
|
||||
QuestionType = g.Key.ToString(),
|
||||
@@ -254,10 +254,10 @@ namespace TechHelper.Server.Services
|
||||
var submission = await _submissionRepository.GetFirstOrDefaultAsync(
|
||||
predicate: s => s.Id == id && !s.IsDeleted,
|
||||
include: i => i.Include(s => s.Student)
|
||||
.Include(s => s.Assignment)
|
||||
.Include(s => s.Exam)
|
||||
.Include(s => s.Grader)
|
||||
.Include(s => s.SubmissionDetails)
|
||||
.ThenInclude(sd => sd.AssignmentQuestion)
|
||||
.ThenInclude(sd => sd.ExamQuestion)
|
||||
.ThenInclude(aq => aq.Question));
|
||||
|
||||
if (submission == null)
|
||||
@@ -279,18 +279,18 @@ namespace TechHelper.Server.Services
|
||||
try
|
||||
{
|
||||
var errorSubmissionDetails = await _submissionDetailRepository.GetPagedListAsync(
|
||||
predicate: sd => sd.AssignmentQuestionId == assignmentQuestionId &&
|
||||
predicate: sd => sd.ExamQuestionId == assignmentQuestionId &&
|
||||
sd.IsCorrect == false &&
|
||||
(sd.Status == SubmissionStatus.Submitted || sd.Status == SubmissionStatus.Graded),
|
||||
include: i => i
|
||||
.Include(sd => sd.Student)
|
||||
.Include(sd => sd.AssignmentQuestion)
|
||||
.Include(sd => sd.ExamQuestion)
|
||||
.ThenInclude(aq => aq.Question));
|
||||
|
||||
|
||||
var errorStudentsByQuestion = errorSubmissionDetails.Items
|
||||
.Where(sd => sd.AssignmentQuestion?.Question != null && sd.Student != null)
|
||||
.GroupBy(sd => new { sd.AssignmentQuestionId, sd.AssignmentQuestion.Question.Title })
|
||||
.Where(sd => sd.ExamQuestion?.Question != null && sd.Student != null)
|
||||
.GroupBy(sd => new { sd.ExamQuestionId, sd.ExamQuestion.Question.Title })
|
||||
.Select(g => new
|
||||
{
|
||||
AssignmentQuestionId = g.Key.AssignmentQuestionId,
|
||||
@@ -315,7 +315,7 @@ namespace TechHelper.Server.Services
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _unitOfWork.GetRepository<Submission>().GetAllAsync(predicate: s => s.AssignmentId == assignment && s.StudentId == studentId);
|
||||
var result = await _unitOfWork.GetRepository<Submission>().GetAllAsync(predicate: s => s.ExamId == assignment && s.StudentId == studentId);
|
||||
return (byte)result.Count;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
Reference in New Issue
Block a user