refactored quiz creation

This commit is contained in:
2023-10-10 14:06:38 -06:00
parent 30109f4012
commit 274c3a177c
4 changed files with 3 additions and 29 deletions

View File

@@ -172,7 +172,6 @@ public class CoursePlanner
CanvasAssignments = await canvas.Assignments.GetAll(canvasId); CanvasAssignments = await canvas.Assignments.GetAll(canvasId);
CanvasModulesItems = await canvas.Modules.GetAllModulesItems(canvasId, CanvasModules); CanvasModulesItems = await canvas.Modules.GetAllModulesItems(canvasId, CanvasModules);
LocalCourse = await LocalCourse.SyncQuizzesWithCanvas(CanvasQuizzes, canvas);
await LocalCourse.SyncModuleItemsWithCanvas(canvasId, CanvasModulesItems, canvas); await LocalCourse.SyncModuleItemsWithCanvas(canvasId, CanvasModulesItems, canvas);
CanvasModulesItems = await canvas.Modules.GetAllModulesItems(canvasId, CanvasModules); CanvasModulesItems = await canvas.Modules.GetAllModulesItems(canvasId, CanvasModules);

View File

@@ -91,7 +91,7 @@ public class QuizEditorContext
logger.Log("cannot add quiz to canvas, no course stored in planner"); logger.Log("cannot add quiz to canvas, no course stored in planner");
return; return;
} }
var updatedQuiz = await planner.LocalCourse.AddQuizToCanvas(Quiz, planner.CanvasQuizzes, canvas); var updatedQuiz = await planner.LocalCourse.AddQuizToCanvas(Quiz, canvas);

View File

@@ -14,34 +14,9 @@ public static partial class QuizSyncronizationExtensions
return canvasQuizzes.Any(q => q.Id == localQuiz.CanvasId); return canvasQuizzes.Any(q => q.Id == localQuiz.CanvasId);
} }
internal static async Task<LocalCourse> SyncQuizzesWithCanvas(
this LocalCourse localCourse,
IEnumerable<CanvasQuiz> canvasQuizzes,
CanvasService canvas
)
{
return localCourse;
// var moduleTasks = localCourse.Modules.Select(async m =>
// {
// var quizTasks = m.Quizzes
// .Select(
// async (q) => q.DueAt > DateTime.Now
// ? await localCourse.AddQuizToCanvas(q, canvasQuizzes, canvas)
// : q
// );
// var quizzes = await Task.WhenAll(quizTasks);
// return m with { Quizzes = quizzes };
// });
// var modules = await Task.WhenAll(moduleTasks);
// return localCourse with { Modules = modules };
}
public static async Task<LocalQuiz> AddQuizToCanvas( public static async Task<LocalQuiz> AddQuizToCanvas(
this LocalCourse localCourse, this LocalCourse localCourse,
LocalQuiz localQuiz, LocalQuiz localQuiz,
IEnumerable<CanvasQuiz> canvasQuizzes,
CanvasService canvas CanvasService canvas
) )
{ {

View File

@@ -120,7 +120,7 @@ public class CanvasService
{ {
module_item = new module_item = new
{ {
title = title, title,
type = type.ToString(), type = type.ToString(),
content_id = contentId, content_id = contentId,
} }
@@ -128,7 +128,7 @@ public class CanvasService
var request = new RestRequest(url); var request = new RestRequest(url);
request.AddBody(body); request.AddBody(body);
var (newItem, response) = await webRequestor.PostAsync<CanvasModuleItem>(request); var (newItem, _response) = await webRequestor.PostAsync<CanvasModuleItem>(request);
if (newItem == null) if (newItem == null)
throw new Exception("something went wrong updating module item"); throw new Exception("something went wrong updating module item");
} }