@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() { System.Console.WriteLine("new assignment"); var newAssignment = new LocalAssignment { Id = Guid.NewGuid().ToString(), Name = Name, Description = "", LockAtDueDate = true, Rubric = new RubricItem[] { }, LockAt = null, DueAt = DateTime.Now, PointsPossible = 10, SubmissionTypes = new string[] { SubmissionType.ONLINE_TEXT_ENTRY }, LocalAssignmentGroupId = selectedAssignmentGroup?.Id, }; if(planner.LocalCourse != null) { var newModules =planner.LocalCourse.Modules.Select(m => m.Name != Module.Name ? m : Module with { Assignments=Module.Assignments.Append(newAssignment) } ); planner.LocalCourse = planner.LocalCourse with { Modules=newModules }; } Name = ""; modal?.Hide(); } private void setAssignmentGroup(LocalAssignmentGroup? group) { selectedAssignmentGroup = group; } private LocalAssignmentGroup? selectedAssignmentGroup { get; set; } } New Assignment