public Task <IEnumerable <DevAssignment> > GetAssignments() { Context.Entry(Student).Collection(x => x.StudentCourseClasses) .Query().Include(x => x.Class) .ThenInclude(x => x.Assignments) .ThenInclude(x => x.Solution).Load(); var assignments = Student.StudentCourseClasses.SelectMany( x => x.Class.Assignments) .Skip(Step * Options.StepSize) .Take(Options.StepSize); return(Task.FromResult(assignments)); }
public async Task <IActionResult> OnGetAsync() { Assignment = await Assignments.FindAsync(Id); if (Assignment == null) { return(NotFound()); } Context.Entry(Assignment).Reference(x => x.CourseClass).Load(); Context.Entry(Assignment).Reference(x => x.Solution) .Query().Include(x => x.MethodDeclarations).Load(); Context.Entry(Assignment).Reference(x => x.TestProject) .Query().Include(x => x.UnitTests).Load(); return(Page()); }
public async Task <IActionResult> OnGetAsync() { Student = await Students.SingleOrDefaultAsync(x => x.Email.Equals(User.Identity.Name)); if (Student == null) { return(NotFound()); } Assignment = await Assignments.FindAsync(Id); if (Assignment == null) { return(NotFound()); } Snapshots = Student.Snapshots.Where(x => x.AssignmentId.Equals(Id)) .Select(x => { Context.Entry(x).Reference(y => y.Report).Load(); if (x.Report.Type != SnapshotReport.SnapshotReportTypes.Success) { return(x); } Context.Entry((SnapshotSuccessReport)x.Report) .Collection(y => y.SnapshotMethods) .Query().Include(y => y.MethodDeclaration).Load(); Context.Entry((SnapshotSuccessReport)x.Report) .Collection(y => y.UnitTestResults) .Query().Include(y => y.UnitTest) .Load(); return(x); }) .OrderByDescending(x => x.SnapshotSubmission.CreatedDateTime) .ToList(); return(Page()); }