can add pages

This commit is contained in:
2024-01-12 16:16:13 -07:00
parent bca8497255
commit 550a42f874
7 changed files with 98 additions and 38 deletions

View File

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

View File

@@ -0,0 +1,22 @@
using LocalModels;
using Management.Services.Canvas;
public static class PageSynchronizationExtension
{
public static async Task<ulong?> AddPageToCanvas(
this LocalCourse localCourse,
LocalCoursePage localPage,
CanvasService canvas
)
{
if (localCourse.Settings.CanvasId == null)
{
Console.WriteLine("Cannot add page to canvas without canvas course id");
return null;
}
ulong courseCanvasId = (ulong)localCourse.Settings.CanvasId;
var canvasPageId = await canvas.Pages.Create(courseCanvasId, localPage);
return canvasPageId;
}
}