From fa792f1f23981c430aa415ec4ecd80d7fd41e244 Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Fri, 22 Sep 2023 12:58:37 -0600 Subject: [PATCH] moved settings into their own object --- .../AssignmentDescriptionEditor.razor | 3 ++- .../AssignmentForm/AssignmentForm.razor | 3 ++- .../Components/Quiz/DroppableQuiz.razor.cs | 4 +-- .../Shared/Components/Quiz/QuizSettings.razor | 7 ++--- .../Shared/Course/AssignmentGroups.razor | 23 +++++++++++----- .../Shared/Course/CourseSettings.razor | 20 ++++++++------ .../Shared/InitializeYamlFromCanvas.razor | 2 +- .../Module/Assignment/AssignmentDetails.razor | 6 ++--- .../Assignment/DroppableAssignment.razor.cs | 4 +-- .../AssignmentTemplateManagement.razor | 8 ++++-- .../Assignment/Templates/TemplateEditor.razor | 14 +++++++--- Management.Web/Shared/Semester/Day/Day.razor | 2 +- .../Shared/Semester/MonthDetail.razor | 2 +- .../Features/Calendar/SemesterPlanner.cs | 2 -- .../Features/Configuration/CoursePlanner.cs | 26 +++++++------------ .../CoursePlannerValidationExtensions.cs | 7 +++-- ...AssignemntGroupSyncronizationExtensions.cs | 2 +- .../AssignmentSyncronizationExtensions.cs | 6 ++--- .../QuizSyncronizationExtensions.cs | 2 +- Management/Models/Local/LocalCourse.cs | 8 ------ 20 files changed, 81 insertions(+), 70 deletions(-) diff --git a/Management.Web/Shared/Components/AssignmentForm/AssignmentDescriptionEditor.razor b/Management.Web/Shared/Components/AssignmentForm/AssignmentDescriptionEditor.razor index 5608bcf..1f918c8 100644 --- a/Management.Web/Shared/Components/AssignmentForm/AssignmentDescriptionEditor.razor +++ b/Management.Web/Shared/Components/AssignmentForm/AssignmentDescriptionEditor.razor @@ -45,6 +45,7 @@ private AssignmentTemplate? selectedTemplate => planner .LocalCourse? + .Settings .AssignmentTemplates .FirstOrDefault(t => t.Id == TemplateId); @@ -133,7 +134,7 @@ @oninput="saveTemplateId" > - @foreach (var template in planner.LocalCourse.AssignmentTemplates) + @foreach (var template in planner.LocalCourse.Settings.AssignmentTemplates) { } diff --git a/Management.Web/Shared/Components/AssignmentForm/AssignmentForm.razor b/Management.Web/Shared/Components/AssignmentForm/AssignmentForm.razor index 2a5e250..9e0128f 100644 --- a/Management.Web/Shared/Components/AssignmentForm/AssignmentForm.razor +++ b/Management.Web/Shared/Components/AssignmentForm/AssignmentForm.razor @@ -128,6 +128,7 @@ private LocalAssignmentGroup? selectedAssignmentGroup => planner .LocalCourse? + .Settings .AssignmentGroups .FirstOrDefault(g => g.Id == assignmentContext.Assignment?.LocalAssignmentGroupId); } @@ -148,7 +149,7 @@ planner .LocalCourse? + .Settings .AssignmentGroups .FirstOrDefault(g => g.Id == quizContext.Quiz?.LocalAssignmentGroupId); } @@ -95,9 +96,9 @@ diff --git a/Management.Web/Shared/Course/AssignmentGroups.razor b/Management.Web/Shared/Course/AssignmentGroups.razor index 4ea7f6d..3fe53e4 100644 --- a/Management.Web/Shared/Course/AssignmentGroups.razor +++ b/Management.Web/Shared/Course/AssignmentGroups.razor @@ -28,10 +28,13 @@ Id = Guid.NewGuid().ToString() }; - var updatedGroups = planner.LocalCourse.AssignmentGroups.Append(newGroup); + var updatedGroups = planner.LocalCourse.Settings.AssignmentGroups.Append(newGroup); planner.LocalCourse = planner.LocalCourse with { - AssignmentGroups = updatedGroups + Settings = planner.LocalCourse.Settings with + { + AssignmentGroups = updatedGroups + } }; } } @@ -43,14 +46,17 @@ if(planner.LocalCourse != null) { var newName = e.Value?.ToString() ?? ""; - var newGroups = planner.LocalCourse.AssignmentGroups.Select( + var newGroups = planner.LocalCourse.Settings.AssignmentGroups.Select( g => g.Id == groupId ? g with { Name = newName } : g ); planner.LocalCourse = planner.LocalCourse with { - AssignmentGroups = newGroups + Settings = planner.LocalCourse.Settings with + { + AssignmentGroups = newGroups + } }; } }; @@ -62,14 +68,17 @@ if(planner.LocalCourse != null) { var newWeight = double.Parse(e.Value?.ToString() ?? "0"); - var newGroups = planner.LocalCourse.AssignmentGroups.Select( + var newGroups = planner.LocalCourse.Settings.AssignmentGroups.Select( g => g.Id == groupId ? g with { Weight = newWeight } : g ); planner.LocalCourse = planner.LocalCourse with { - AssignmentGroups = newGroups + Settings = planner.LocalCourse.Settings with + { + AssignmentGroups = newGroups + } }; } }; @@ -79,7 +88,7 @@ @if(planner.LocalCourse != null) {

Assignment Groups

- @foreach (var group in planner.LocalCourse.AssignmentGroups) + @foreach (var group in planner.LocalCourse.Settings.AssignmentGroups) { var groupName = group.Name; var nameInputCallback = saveGroupName(group.Id); diff --git a/Management.Web/Shared/Course/CourseSettings.razor b/Management.Web/Shared/Course/CourseSettings.razor index 964aae9..615d3f2 100644 --- a/Management.Web/Shared/Course/CourseSettings.razor +++ b/Management.Web/Shared/Course/CourseSettings.razor @@ -78,17 +78,20 @@