working with quiz editor

This commit is contained in:
2023-08-14 09:03:52 -06:00
parent 4de6122549
commit 1fe232f6a8
12 changed files with 250 additions and 58 deletions

View File

@@ -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");
}
}

View File

@@ -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;
}