module item sorting fixed

This commit is contained in:
2024-01-12 17:02:13 -07:00
parent 324bb94eda
commit b28bea77e9
8 changed files with 31 additions and 15 deletions

View File

@@ -95,7 +95,7 @@ public class AssignmentEditorContext
}
// Console.WriteLine(JsonSerializer.Serialize(Assignment.LocalAssignmentGroupName));
// Console.WriteLine(JsonSerializer.Serialize(planner.LocalCourse.Settings.AssignmentGroups));
var canvasAssignmentGroupId = Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.Settings.AssignmentGroups);
if (canvasAssignmentGroupId == null)
@@ -154,12 +154,13 @@ public class AssignmentEditorContext
(ulong)courseCanvasId,
canvasModule.Id,
Assignment.Name,
"Assignment",
createdAssignmentCanvasId
);
await planner.LocalCourse.Modules.First().SortModuleItems(
var module = getCurrentLocalModule(Assignment, planner.LocalCourse);
await module.SortModuleItems(
(ulong)courseCanvasId,
canvasModule.Id,
canvas

View File

@@ -121,7 +121,8 @@ public class PageEditorContext(
canvasPage
);
await planner.LocalCourse.Modules.First().SortModuleItems(
var currentModule = getCurrentLocalModule(Page, planner.LocalCourse);
await currentModule.SortModuleItems(
(ulong)courseCanvasId,
canvasModule.Id,
canvas

View File

@@ -40,15 +40,20 @@ public static partial class ModuleSyncronizationExtensions
var canvasModuleItems = await canvas.Modules.GetModuleItems(canvasId, moduleCanvasId);
var moduleItemsInCorrectOrder = canvasModuleItems
.OrderBy(canvasItem => {
if(canvasItem.Type == "Page")
{
var localPage = localModule.Pages.FirstOrDefault(p => p.Name == canvasItem.Title);
Console.WriteLine(JsonSerializer.Serialize(localModule.Pages));
if(localPage != null)
return localPage.DueAt;
return localPage.DueAt.Date;
}
return canvasItem.ContentDetails?.DueAt;
return canvasItem.ContentDetails?.DueAt?.Date;
})
.Select((a, i) => (Item: a, Position: i + 1));
.ThenBy(canvasItem => canvasItem.Title)
.Select((a, i) => (Item: a, Position: i + 1))
.ToArray();
foreach (var (moduleItem, position) in moduleItemsInCorrectOrder)
{