@using Management.Web.Shared.Components @using Management.Web.Shared.Components.Forms @inject CoursePlanner planner @code { [Parameter] [EditorRequired] public LocalModule Module { get; set; } = default!; [Required] [StringLength(50, ErrorMessage = "Name too long (50 character limit).")] private string Name { get; set; } = ""; private Modal? modal { get; set; } = null; private void submitHandler() { Console.WriteLine("new quiz"); Console.WriteLine(selectedAssignmentGroup); if(Name.Trim() == string.Empty) { return; } var newQuiz = new LocalQuiz { Name=Name, Description = "", LocalAssignmentGroupName = selectedAssignmentGroup?.Name, }; if(planner.LocalCourse != null) { var newModules = planner.LocalCourse.Modules.Select(m => m.Name != Module.Name ? m : Module with { Quizzes=Module.Quizzes.Append(newQuiz) } ); planner.LocalCourse = planner.LocalCourse with { Modules=newModules }; } modal?.Hide(); } private void setAssignmentGroup(LocalAssignmentGroup? group) { selectedAssignmentGroup = group; } private LocalAssignmentGroup? selectedAssignmentGroup { get; set; } } New Quiz