mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
refactored quiz creation
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user