@using Management.Web.Shared.Components @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; } private void submitHandler() { System.Console.WriteLine("new assignment"); var newAssignment = new LocalAssignment { id = Guid.NewGuid().ToString(), name = Name, description = "", lock_at_due_date = true, rubric = new RubricItem[] { }, lock_at = null, due_at = DateTime.Now, points_possible = 10, submission_types = new string[] { SubmissionType.online_text_entry } }; if(planner.LocalCourse != null) { planner.LocalCourse = planner.LocalCourse with { Modules=planner.LocalCourse.Modules.Select(m => m.Name != Module.Name ? m : Module with { Assignments=Module.Assignments.Append(newAssignment) } ) }; } modal?.Hide(); } } New Assignment