mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 07:38:33 -06:00
fixed assignment rendering bug, removed canvas id from assignment
This commit is contained in:
@@ -45,83 +45,6 @@ public static class CoursePlannerExtensions
|
||||
};
|
||||
}
|
||||
|
||||
public static LocalCourse deleteCanvasIdsThatNoLongerExist(
|
||||
this LocalCourse localCourse,
|
||||
IEnumerable<CanvasModule> canvasModules,
|
||||
IEnumerable<CanvasAssignment> canvasAssignments,
|
||||
IEnumerable<CanvasAssignmentGroup> canvasAssignmentGroups,
|
||||
IEnumerable<CanvasQuiz> canvasQuizzes
|
||||
)
|
||||
{
|
||||
Console.WriteLine("checking canvas ids still exist");
|
||||
|
||||
var correctedModules = localCourse.Modules
|
||||
.Select((m) => m.validateCanvasIds(canvasModules, canvasAssignments, canvasQuizzes))
|
||||
.ToArray();
|
||||
|
||||
var canvasAssignmentGroupIds = canvasAssignmentGroups.Select(g => g.Id).ToArray();
|
||||
var correctAssignmentGroups = localCourse.Settings.AssignmentGroups.Select(
|
||||
g =>
|
||||
{
|
||||
var groupCanvasId = g.CanvasId ?? 0;
|
||||
return canvasAssignmentGroupIds.Contains(groupCanvasId)
|
||||
? g
|
||||
: g with { CanvasId = null };
|
||||
}
|
||||
).ToArray();
|
||||
|
||||
return localCourse with
|
||||
{
|
||||
Modules = correctedModules,
|
||||
Settings = localCourse.Settings with
|
||||
{
|
||||
AssignmentGroups = correctAssignmentGroups,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private static LocalModule validateCanvasIds(
|
||||
this LocalModule module,
|
||||
IEnumerable<CanvasModule> canvasModules,
|
||||
IEnumerable<CanvasAssignment> canvasAssignments,
|
||||
IEnumerable<CanvasQuiz> canvasQuizzes
|
||||
)
|
||||
{
|
||||
var moduleIdInCanvas = canvasModules.FirstOrDefault(m => m.Name == module.Name) != null;
|
||||
var moduleWithAssignments = module with
|
||||
{
|
||||
Assignments = module.Assignments
|
||||
.Select((a) => a.validateAssignmentForCanvasId(canvasAssignments))
|
||||
.ToArray(),
|
||||
};
|
||||
|
||||
if (!moduleIdInCanvas)
|
||||
{
|
||||
Console.WriteLine(
|
||||
$"no id in canvas for module, removing old canvas id: {moduleWithAssignments.Name}"
|
||||
);
|
||||
return moduleWithAssignments;
|
||||
}
|
||||
return moduleWithAssignments;
|
||||
}
|
||||
|
||||
private static LocalAssignment validateAssignmentForCanvasId(
|
||||
this LocalAssignment assignment,
|
||||
IEnumerable<CanvasAssignment> canvasAssignments
|
||||
)
|
||||
{
|
||||
var assignmentIdInCanvas =
|
||||
canvasAssignments.FirstOrDefault(ca => ca.Id == assignment.CanvasId) != null;
|
||||
if (!assignmentIdInCanvas)
|
||||
{
|
||||
Console.WriteLine(
|
||||
$"no id in canvas for assignment, removing old canvas id: {assignment.Name}"
|
||||
);
|
||||
return assignment with { CanvasId = null };
|
||||
}
|
||||
return assignment;
|
||||
}
|
||||
|
||||
public static LocalAssignment validateSubmissionTypes(this LocalAssignment assignment)
|
||||
{
|
||||
var containsDiscussion =
|
||||
|
||||
Reference in New Issue
Block a user