1
This commit is contained in:
@@ -17,7 +17,7 @@ namespace TechHelper.Server.Repositories
|
||||
{
|
||||
_unitOfWork = unitOfWork;
|
||||
_assignmentRepo = _unitOfWork.GetRepository<Assignment>();
|
||||
_assignQuestionRepo = _unitOfWork.GetRepository<AssignmentQuestion>();
|
||||
_assignQuestionRepo = _unitOfWork.GetRepository<AssignmentQuestion>();
|
||||
}
|
||||
|
||||
public async Task<Assignment?> GetFullExamByIdAsync(Guid assignmentId)
|
||||
@@ -29,18 +29,18 @@ namespace TechHelper.Server.Repositories
|
||||
i => i.Include(a => a.ExamStruct)
|
||||
);
|
||||
|
||||
result.ExamStruct = await GetNeed(result.ExamStructId)?? null;
|
||||
result.ExamStruct = await GetNeed(result.ExamStructId) ?? null;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public async Task<AssignmentQuestion?> GetNeed(Guid id)
|
||||
public async Task<AssignmentQuestion?> GetNeed(Guid id)
|
||||
{
|
||||
var result = await _assignQuestionRepo.GetFirstOrDefaultAsync(
|
||||
predicate: aq => aq.Id == id,
|
||||
include: i => i
|
||||
.Include(aq => aq.ChildrenAssignmentQuestion)
|
||||
.Include(aq => aq.ChildrenAssignmentQuestion)
|
||||
.Include(aq => aq.Question)
|
||||
.ThenInclude(q => q.Lesson)
|
||||
.Include(aq => aq.Question)
|
||||
@@ -55,13 +55,13 @@ namespace TechHelper.Server.Repositories
|
||||
var loadedChildren = new List<AssignmentQuestion>();
|
||||
foreach (var child in result.ChildrenAssignmentQuestion)
|
||||
{
|
||||
var loadedChild = await GetNeed(child.Id);
|
||||
var loadedChild = await GetNeed(child.Id);
|
||||
if (loadedChild != null)
|
||||
{
|
||||
loadedChildren.Add(loadedChild);
|
||||
}
|
||||
}
|
||||
result.ChildrenAssignmentQuestion = loadedChildren;
|
||||
result.ChildrenAssignmentQuestion = loadedChildren;
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -90,5 +90,18 @@ namespace TechHelper.Server.Repositories
|
||||
public async Task AddAsync(AssignmentClass assignment)
|
||||
{
|
||||
}
|
||||
|
||||
public async Task AddAsync(Submission submission)
|
||||
{
|
||||
await _unitOfWork.GetRepository<Submission>().InsertAsync(submission);
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<Assignment>> GetAllSubmissionPreviewsByUserAsync(Guid id)
|
||||
{
|
||||
var submissions = await _unitOfWork.GetRepository<Submission>().GetAllAsync(predicate: s => s.StudentId == id, include: i => i.Include(s => s.Assignment));
|
||||
if (submissions == null || !submissions.Any())
|
||||
return Enumerable.Empty<Assignment>();
|
||||
return submissions.ToList().Select(s => s.Assignment).Where(a => a != null).Distinct().ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
using Entities.Contracts;
|
||||
using Entities.DTO;
|
||||
|
||||
namespace TechHelper.Server.Repositories
|
||||
{
|
||||
@@ -23,6 +24,7 @@ namespace TechHelper.Server.Repositories
|
||||
/// </summary>
|
||||
/// <param name="assignment">要添加的试卷实体。</param>
|
||||
Task AddAsync(Assignment assignment);
|
||||
Task AddAsync(Submission submission);
|
||||
|
||||
|
||||
|
||||
@@ -32,6 +34,6 @@ namespace TechHelper.Server.Repositories
|
||||
Task AddAsync(Question assignment);
|
||||
|
||||
Task AddAsync(AssignmentClass assignment);
|
||||
|
||||
Task<IEnumerable<Assignment>> GetAllSubmissionPreviewsByUserAsync(Guid id);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user