mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 15:48:32 -06:00
working with quiz editor
This commit is contained in:
@@ -26,9 +26,7 @@ public class QuizEditorContext
|
||||
{
|
||||
if (planner.LocalCourse != null)
|
||||
{
|
||||
var currentModule =
|
||||
planner.LocalCourse.Modules.First(m => m.Quizzes.Select(q => q.Id).Contains(newQuiz.Id))
|
||||
?? throw new Exception("could not find current module in quiz editor context");
|
||||
var currentModule = getCurrentModule(newQuiz, planner.LocalCourse);
|
||||
|
||||
var updatedModules = planner.LocalCourse.Modules
|
||||
.Select(
|
||||
@@ -48,4 +46,25 @@ public class QuizEditorContext
|
||||
Quiz = newQuiz;
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteQuiz()
|
||||
{
|
||||
if (planner.LocalCourse != null && Quiz != null)
|
||||
{
|
||||
var currentModule = getCurrentModule(Quiz, planner.LocalCourse);
|
||||
|
||||
var updatedModules = planner.LocalCourse.Modules
|
||||
.Where(m => m.Name != currentModule.Name)
|
||||
.ToArray();
|
||||
|
||||
planner.LocalCourse = planner.LocalCourse with { Modules = updatedModules };
|
||||
Quiz = null;
|
||||
}
|
||||
}
|
||||
|
||||
private static LocalModule getCurrentModule(LocalQuiz newQuiz, LocalCourse course)
|
||||
{
|
||||
return course.Modules.First(m => m.Quizzes.Select(q => q.Id).Contains(newQuiz.Id))
|
||||
?? throw new Exception("could not find current module in quiz editor context");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,4 +9,5 @@ public record LocalModule
|
||||
public IEnumerable<LocalQuiz> Quizzes { get; init; } = Enumerable.Empty<LocalQuiz>();
|
||||
|
||||
public ulong? CanvasId { get; set; } = null;
|
||||
public string Notes { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user