mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
moved settings into their own object
This commit is contained in:
@@ -45,6 +45,7 @@
|
|||||||
private AssignmentTemplate? selectedTemplate =>
|
private AssignmentTemplate? selectedTemplate =>
|
||||||
planner
|
planner
|
||||||
.LocalCourse?
|
.LocalCourse?
|
||||||
|
.Settings
|
||||||
.AssignmentTemplates
|
.AssignmentTemplates
|
||||||
.FirstOrDefault(t => t.Id == TemplateId);
|
.FirstOrDefault(t => t.Id == TemplateId);
|
||||||
|
|
||||||
@@ -133,7 +134,7 @@
|
|||||||
@oninput="saveTemplateId"
|
@oninput="saveTemplateId"
|
||||||
>
|
>
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
@foreach (var template in planner.LocalCourse.AssignmentTemplates)
|
@foreach (var template in planner.LocalCourse.Settings.AssignmentTemplates)
|
||||||
{
|
{
|
||||||
<option value="@template.Id">@template.Name</option>
|
<option value="@template.Id">@template.Name</option>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,7 @@
|
|||||||
private LocalAssignmentGroup? selectedAssignmentGroup =>
|
private LocalAssignmentGroup? selectedAssignmentGroup =>
|
||||||
planner
|
planner
|
||||||
.LocalCourse?
|
.LocalCourse?
|
||||||
|
.Settings
|
||||||
.AssignmentGroups
|
.AssignmentGroups
|
||||||
.FirstOrDefault(g => g.Id == assignmentContext.Assignment?.LocalAssignmentGroupId);
|
.FirstOrDefault(g => g.Id == assignmentContext.Assignment?.LocalAssignmentGroupId);
|
||||||
}
|
}
|
||||||
@@ -148,7 +149,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<ButtonSelect
|
<ButtonSelect
|
||||||
Label="Assignment Group"
|
Label="Assignment Group"
|
||||||
Options="planner.LocalCourse.AssignmentGroups"
|
Options="planner.LocalCourse?.Settings.AssignmentGroups"
|
||||||
GetId="(g) => g.Id"
|
GetId="(g) => g.Id"
|
||||||
GetName="(g) => g.Name"
|
GetName="(g) => g.Name"
|
||||||
OnSelect="(g) => setAssignmentGroup(g)"
|
OnSelect="(g) => setAssignmentGroup(g)"
|
||||||
|
|||||||
@@ -35,8 +35,8 @@ public class DroppableQuiz : ComponentBase
|
|||||||
year: dropDate.Year,
|
year: dropDate.Year,
|
||||||
month: dropDate.Month,
|
month: dropDate.Month,
|
||||||
day: dropDate.Day,
|
day: dropDate.Day,
|
||||||
hour: planner.LocalCourse.DefaultDueTime.Hour,
|
hour: planner.LocalCourse.Settings.DefaultDueTime.Hour,
|
||||||
minute: planner.LocalCourse.DefaultDueTime.Minute,
|
minute: planner.LocalCourse.Settings.DefaultDueTime.Minute,
|
||||||
second: 0
|
second: 0
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -74,6 +74,7 @@
|
|||||||
private LocalAssignmentGroup? selectedAssignmentGroup =>
|
private LocalAssignmentGroup? selectedAssignmentGroup =>
|
||||||
planner
|
planner
|
||||||
.LocalCourse?
|
.LocalCourse?
|
||||||
|
.Settings
|
||||||
.AssignmentGroups
|
.AssignmentGroups
|
||||||
.FirstOrDefault(g => g.Id == quizContext.Quiz?.LocalAssignmentGroupId);
|
.FirstOrDefault(g => g.Id == quizContext.Quiz?.LocalAssignmentGroupId);
|
||||||
}
|
}
|
||||||
@@ -95,9 +96,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<ButtonSelect
|
<ButtonSelect
|
||||||
Label="Assignment Group"
|
Label="Assignment Group"
|
||||||
Options="planner.LocalCourse.AssignmentGroups"
|
Options="planner.LocalCourse.Settings.AssignmentGroups"
|
||||||
GetId="(g) => g.Id"
|
GetId="(g) => g?.Id"
|
||||||
GetName="(g) => g.Name"
|
GetName="(g) => g?.Name"
|
||||||
OnSelect="(g) => setAssignmentGroup(g)"
|
OnSelect="(g) => setAssignmentGroup(g)"
|
||||||
SelectedOption="selectedAssignmentGroup"
|
SelectedOption="selectedAssignmentGroup"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -28,10 +28,13 @@
|
|||||||
Id = Guid.NewGuid().ToString()
|
Id = Guid.NewGuid().ToString()
|
||||||
};
|
};
|
||||||
|
|
||||||
var updatedGroups = planner.LocalCourse.AssignmentGroups.Append(newGroup);
|
var updatedGroups = planner.LocalCourse.Settings.AssignmentGroups.Append(newGroup);
|
||||||
planner.LocalCourse = planner.LocalCourse with
|
planner.LocalCourse = planner.LocalCourse with
|
||||||
{
|
{
|
||||||
AssignmentGroups = updatedGroups
|
Settings = planner.LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
AssignmentGroups = updatedGroups
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -43,14 +46,17 @@
|
|||||||
if(planner.LocalCourse != null)
|
if(planner.LocalCourse != null)
|
||||||
{
|
{
|
||||||
var newName = e.Value?.ToString() ?? "";
|
var newName = e.Value?.ToString() ?? "";
|
||||||
var newGroups = planner.LocalCourse.AssignmentGroups.Select(
|
var newGroups = planner.LocalCourse.Settings.AssignmentGroups.Select(
|
||||||
g => g.Id == groupId
|
g => g.Id == groupId
|
||||||
? g with { Name = newName }
|
? g with { Name = newName }
|
||||||
: g
|
: g
|
||||||
);
|
);
|
||||||
planner.LocalCourse = planner.LocalCourse with
|
planner.LocalCourse = planner.LocalCourse with
|
||||||
{
|
{
|
||||||
AssignmentGroups = newGroups
|
Settings = planner.LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
AssignmentGroups = newGroups
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -62,14 +68,17 @@
|
|||||||
if(planner.LocalCourse != null)
|
if(planner.LocalCourse != null)
|
||||||
{
|
{
|
||||||
var newWeight = double.Parse(e.Value?.ToString() ?? "0");
|
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 => g.Id == groupId
|
||||||
? g with { Weight = newWeight }
|
? g with { Weight = newWeight }
|
||||||
: g
|
: g
|
||||||
);
|
);
|
||||||
planner.LocalCourse = planner.LocalCourse with
|
planner.LocalCourse = planner.LocalCourse with
|
||||||
{
|
{
|
||||||
AssignmentGroups = newGroups
|
Settings = planner.LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
AssignmentGroups = newGroups
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -79,7 +88,7 @@
|
|||||||
@if(planner.LocalCourse != null)
|
@if(planner.LocalCourse != null)
|
||||||
{
|
{
|
||||||
<h4 class="text-center">Assignment Groups</h4>
|
<h4 class="text-center">Assignment Groups</h4>
|
||||||
@foreach (var group in planner.LocalCourse.AssignmentGroups)
|
@foreach (var group in planner.LocalCourse.Settings.AssignmentGroups)
|
||||||
{
|
{
|
||||||
var groupName = group.Name;
|
var groupName = group.Name;
|
||||||
var nameInputCallback = saveGroupName(group.Id);
|
var nameInputCallback = saveGroupName(group.Id);
|
||||||
|
|||||||
@@ -78,17 +78,20 @@
|
|||||||
<div class="col">
|
<div class="col">
|
||||||
<button
|
<button
|
||||||
class="@(
|
class="@(
|
||||||
planner.LocalCourse?.DaysOfWeek.Contains(day) ?? false
|
planner.LocalCourse?.Settings.DaysOfWeek.Contains(day) ?? false
|
||||||
? "btn btn-secondary"
|
? "btn btn-secondary"
|
||||||
: "btn btn-outline-secondary"
|
: "btn btn-outline-secondary"
|
||||||
)"
|
)"
|
||||||
@onclick="() =>
|
@onclick="() =>
|
||||||
{
|
{
|
||||||
if(planner.LocalCourse?.DaysOfWeek.Contains(day) ?? false)
|
if(planner.LocalCourse?.Settings.DaysOfWeek.Contains(day) ?? false)
|
||||||
{
|
{
|
||||||
planner.LocalCourse = planner.LocalCourse with
|
planner.LocalCourse = planner.LocalCourse with
|
||||||
{
|
{
|
||||||
DaysOfWeek = planner.LocalCourse.DaysOfWeek.Where((d) => d != day)
|
Settings = planner.LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
DaysOfWeek = planner.LocalCourse.Settings.DaysOfWeek.Where((d) => d != day)
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -97,7 +100,10 @@
|
|||||||
{
|
{
|
||||||
planner.LocalCourse = planner.LocalCourse with
|
planner.LocalCourse = planner.LocalCourse with
|
||||||
{
|
{
|
||||||
DaysOfWeek = planner.LocalCourse.DaysOfWeek.Append(day)
|
Settings = planner.LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
DaysOfWeek = planner.LocalCourse.Settings.DaysOfWeek.Append(day)
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -137,12 +143,10 @@
|
|||||||
<div class="row justify-content-center m-3 text-center">
|
<div class="row justify-content-center m-3 text-center">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<div>Default Assignment Due Time</div>
|
<div>Default Assignment Due Time</div>
|
||||||
<TimePicker
|
<TimePicker Time="planner.LocalCourse.Settings.DefaultDueTime" UpdateTime="@((newTime) =>
|
||||||
Time="planner.LocalCourse.DefaultDueTime"
|
|
||||||
UpdateTime="@((newTime) =>
|
|
||||||
planner.LocalCourse =
|
planner.LocalCourse =
|
||||||
planner.LocalCourse with
|
planner.LocalCourse with
|
||||||
{ DefaultDueTime=newTime }
|
{ Settings = planner.LocalCourse.Settings with { DefaultDueTime=newTime } }
|
||||||
)"
|
)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -61,12 +61,12 @@
|
|||||||
var course = new LocalCourse
|
var course = new LocalCourse
|
||||||
{
|
{
|
||||||
Modules = new LocalModule[] {},
|
Modules = new LocalModule[] {},
|
||||||
DaysOfWeek = days,
|
|
||||||
Settings = new LocalCourseSettings() {
|
Settings = new LocalCourseSettings() {
|
||||||
Name = selectedCourse.Name,
|
Name = selectedCourse.Name,
|
||||||
CanvasId = selectedCourse.Id,
|
CanvasId = selectedCourse.Id,
|
||||||
StartDate = selectedTerm?.StartAt ?? new DateTime(),
|
StartDate = selectedTerm?.StartAt ?? new DateTime(),
|
||||||
EndDate = selectedTerm?.EndAt ?? new DateTime(),
|
EndDate = selectedTerm?.EndAt ?? new DateTime(),
|
||||||
|
DaysOfWeek = days,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
await yamlManager.SaveCourseAsync(course);
|
await yamlManager.SaveCourseAsync(course);
|
||||||
|
|||||||
@@ -78,8 +78,8 @@
|
|||||||
&& planner.CanvasModules != null
|
&& planner.CanvasModules != null
|
||||||
&& Assignment.NeedsUpdates(
|
&& Assignment.NeedsUpdates(
|
||||||
planner.CanvasAssignments,
|
planner.CanvasAssignments,
|
||||||
planner.LocalCourse.AssignmentTemplates,
|
planner.LocalCourse.Settings.AssignmentTemplates,
|
||||||
Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.AssignmentGroups)
|
Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.Settings.AssignmentGroups)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
<div class="card-text">
|
<div class="card-text">
|
||||||
<div class="px-3 py-1 bg-dark-subtle my-1">
|
<div class="px-3 py-1 bg-dark-subtle my-1">
|
||||||
|
|
||||||
@((MarkupString) @Assignment.GetDescriptionHtml(planner.LocalCourse?.AssignmentTemplates))
|
@((MarkupString) @Assignment.GetDescriptionHtml(planner.LocalCourse?.Settings.AssignmentTemplates))
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<section class="px-3">
|
<section class="px-3">
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ public class DroppableAssignment : ComponentBase
|
|||||||
year: dropDate.Year,
|
year: dropDate.Year,
|
||||||
month: dropDate.Month,
|
month: dropDate.Month,
|
||||||
day: dropDate.Day,
|
day: dropDate.Day,
|
||||||
hour: planner.LocalCourse.DefaultDueTime.Hour,
|
hour: planner.LocalCourse.Settings.DefaultDueTime.Hour,
|
||||||
minute: planner.LocalCourse.DefaultDueTime.Minute,
|
minute: planner.LocalCourse.Settings.DefaultDueTime.Minute,
|
||||||
second: 0
|
second: 0
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
private AssignmentTemplate? selectedTemplate =>
|
private AssignmentTemplate? selectedTemplate =>
|
||||||
planner
|
planner
|
||||||
.LocalCourse?
|
.LocalCourse?
|
||||||
|
.Settings
|
||||||
.AssignmentTemplates
|
.AssignmentTemplates
|
||||||
.FirstOrDefault(t => t.Id == selectedTemplateId);
|
.FirstOrDefault(t => t.Id == selectedTemplateId);
|
||||||
|
|
||||||
@@ -44,7 +45,10 @@
|
|||||||
};
|
};
|
||||||
planner.LocalCourse = planner.LocalCourse with
|
planner.LocalCourse = planner.LocalCourse with
|
||||||
{
|
{
|
||||||
AssignmentTemplates = planner.LocalCourse.AssignmentTemplates.Append(newOne)
|
Settings = planner.LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
AssignmentTemplates = planner.LocalCourse.Settings.AssignmentTemplates.Append(newOne)
|
||||||
|
}
|
||||||
};
|
};
|
||||||
newTemplateName = "";
|
newTemplateName = "";
|
||||||
}
|
}
|
||||||
@@ -71,7 +75,7 @@
|
|||||||
<label for="termselect">Templates</label>
|
<label for="termselect">Templates</label>
|
||||||
<select id="termselect" class="form-select" @bind="selectedTemplateId">
|
<select id="termselect" class="form-select" @bind="selectedTemplateId">
|
||||||
<option></option>
|
<option></option>
|
||||||
@foreach (var template in planner.LocalCourse.AssignmentTemplates)
|
@foreach (var template in planner.LocalCourse.Settings.AssignmentTemplates)
|
||||||
{
|
{
|
||||||
<option value="@template.Id">@template.Name</option>
|
<option value="@template.Id">@template.Name</option>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,14 +17,17 @@
|
|||||||
{
|
{
|
||||||
if(planner.LocalCourse != null)
|
if(planner.LocalCourse != null)
|
||||||
{
|
{
|
||||||
var newTemplates = planner.LocalCourse.AssignmentTemplates.Select(t =>
|
var newTemplates = planner.LocalCourse.Settings.AssignmentTemplates.Select(t =>
|
||||||
t.Id == Template.Id
|
t.Id == Template.Id
|
||||||
? t with { Name=newName }
|
? t with { Name=newName }
|
||||||
: t
|
: t
|
||||||
);
|
);
|
||||||
planner.LocalCourse = planner.LocalCourse with
|
planner.LocalCourse = planner.LocalCourse with
|
||||||
{
|
{
|
||||||
AssignmentTemplates=newTemplates
|
Settings = planner.LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
AssignmentTemplates=newTemplates
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -32,14 +35,17 @@
|
|||||||
{
|
{
|
||||||
if(planner.LocalCourse != null)
|
if(planner.LocalCourse != null)
|
||||||
{
|
{
|
||||||
var newTemplates = planner.LocalCourse.AssignmentTemplates.Select(t =>
|
var newTemplates = planner.LocalCourse.Settings.AssignmentTemplates.Select(t =>
|
||||||
t.Id == Template.Id
|
t.Id == Template.Id
|
||||||
? t with { Markdown=newMarkdown }
|
? t with { Markdown=newMarkdown }
|
||||||
: t
|
: t
|
||||||
);
|
);
|
||||||
planner.LocalCourse = planner.LocalCourse with
|
planner.LocalCourse = planner.LocalCourse with
|
||||||
{
|
{
|
||||||
AssignmentTemplates=newTemplates
|
Settings = planner.LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
AssignmentTemplates=newTemplates
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
DayOfWeek? weekDay = date?.DayOfWeek;
|
DayOfWeek? weekDay = date?.DayOfWeek;
|
||||||
DayOfWeek notNullDay = weekDay ?? default;
|
DayOfWeek notNullDay = weekDay ?? default;
|
||||||
|
|
||||||
var isClassDay = planner.LocalCourse?.DaysOfWeek.Contains(notNullDay) ?? false;
|
var isClassDay = planner.LocalCourse?.Settings.DaysOfWeek.Contains(notNullDay) ?? false;
|
||||||
var dayInSemester =
|
var dayInSemester =
|
||||||
isClassDay
|
isClassDay
|
||||||
&& date <= planner.LocalCourse?.Settings.EndDate
|
&& date <= planner.LocalCourse?.Settings.EndDate
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
@foreach (DayOfWeek day in WeekDaysList)
|
@foreach (DayOfWeek day in WeekDaysList)
|
||||||
{
|
{
|
||||||
<div class="@(
|
<div class="@(
|
||||||
planner.LocalCourse?.DaysOfWeek.Contains(day) ?? false
|
planner.LocalCourse?.Settings.DaysOfWeek.Contains(day) ?? false
|
||||||
? "col"
|
? "col"
|
||||||
: "col text-secondary"
|
: "col text-secondary"
|
||||||
)">
|
)">
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ public class SemesterPlanner
|
|||||||
{
|
{
|
||||||
var monthsInTerm = 1 + ((endDate.Year - startDate.Year) * 12) + endDate.Month - startDate.Month;
|
var monthsInTerm = 1 + ((endDate.Year - startDate.Year) * 12) + endDate.Month - startDate.Month;
|
||||||
|
|
||||||
Console.WriteLine(monthsInTerm);
|
|
||||||
|
|
||||||
return Enumerable
|
return Enumerable
|
||||||
.Range(0, monthsInTerm)
|
.Range(0, monthsInTerm)
|
||||||
.Select(monthDiff =>
|
.Select(monthDiff =>
|
||||||
|
|||||||
@@ -38,25 +38,11 @@ public class CoursePlanner
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var courseWithSettings = value with
|
var verifiedCourse = value.GeneralCourseCleanup();
|
||||||
{
|
|
||||||
Settings = value.Settings with
|
|
||||||
{
|
|
||||||
AssignmentGroups = value.AssignmentGroups,
|
|
||||||
Name = value.Settings.Name,
|
|
||||||
DaysOfWeek = value.DaysOfWeek,
|
|
||||||
CanvasId = value.Settings.CanvasId,
|
|
||||||
StartDate = value.Settings.StartDate,
|
|
||||||
DefaultDueTime = value.DefaultDueTime,
|
|
||||||
AssignmentTemplates = value.AssignmentTemplates,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var verifiedCourse = courseWithSettings.GeneralCourseCleanup();
|
|
||||||
|
|
||||||
_debounceTimer?.Dispose();
|
_debounceTimer?.Dispose();
|
||||||
_debounceTimer = new Timer(
|
_debounceTimer = new Timer(
|
||||||
async (_) => await saveCourseToFile(courseWithSettings),
|
async (_) => await saveCourseToFile(verifiedCourse),
|
||||||
null,
|
null,
|
||||||
_debounceInterval,
|
_debounceInterval,
|
||||||
Timeout.Infinite
|
Timeout.Infinite
|
||||||
@@ -160,7 +146,13 @@ public class CoursePlanner
|
|||||||
|
|
||||||
var newAssignmentGroups = await LocalCourse.EnsureAllAssignmentGroupsExistInCanvas(
|
var newAssignmentGroups = await LocalCourse.EnsureAllAssignmentGroupsExistInCanvas(
|
||||||
canvasId, canvasAssignmentGroups, canvas);
|
canvasId, canvasAssignmentGroups, canvas);
|
||||||
LocalCourse = LocalCourse with { AssignmentGroups = newAssignmentGroups };
|
LocalCourse = LocalCourse with
|
||||||
|
{
|
||||||
|
Settings = LocalCourse.Settings with
|
||||||
|
{
|
||||||
|
AssignmentGroups = newAssignmentGroups
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
var newModules = await LocalCourse.EnsureAllModulesExistInCanvas(
|
var newModules = await LocalCourse.EnsureAllModulesExistInCanvas(
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public static class CoursePlannerExtensions
|
|||||||
.ToArray();
|
.ToArray();
|
||||||
|
|
||||||
var canvasAssignmentGroupIds = canvasAssignmentGroups.Select(g => g.Id).ToArray();
|
var canvasAssignmentGroupIds = canvasAssignmentGroups.Select(g => g.Id).ToArray();
|
||||||
var correctAssignmentGroups = localCourse.AssignmentGroups.Select(
|
var correctAssignmentGroups = localCourse.Settings.AssignmentGroups.Select(
|
||||||
g =>
|
g =>
|
||||||
{
|
{
|
||||||
var groupCanvasId = g.CanvasId ?? 0;
|
var groupCanvasId = g.CanvasId ?? 0;
|
||||||
@@ -74,7 +74,10 @@ public static class CoursePlannerExtensions
|
|||||||
return localCourse with
|
return localCourse with
|
||||||
{
|
{
|
||||||
Modules = correctedModules,
|
Modules = correctedModules,
|
||||||
AssignmentGroups = correctAssignmentGroups,
|
Settings = localCourse.Settings with
|
||||||
|
{
|
||||||
|
AssignmentGroups = correctAssignmentGroups,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public static partial class AssignmentGroupSyncronizationExtensions
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
var canvasAssignmentGroupIds = canvasAssignmentGroups.Select(g => g.Id).ToArray();
|
var canvasAssignmentGroupIds = canvasAssignmentGroups.Select(g => g.Id).ToArray();
|
||||||
var assignmentGroups = await Task.WhenAll((Task<LocalAssignmentGroup>[])localCourse.AssignmentGroups.Select(
|
var assignmentGroups = await Task.WhenAll((Task<LocalAssignmentGroup>[])localCourse.Settings.AssignmentGroups.Select(
|
||||||
async assignmentGroup =>
|
async assignmentGroup =>
|
||||||
{
|
{
|
||||||
var canvasGroupWithSameName = canvasAssignmentGroups.FirstOrDefault(
|
var canvasGroupWithSameName = canvasAssignmentGroups.FirstOrDefault(
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ public static partial class AssignmentSyncronizationExtensions
|
|||||||
ca => ca.Id == localAssignment.CanvasId
|
ca => ca.Id == localAssignment.CanvasId
|
||||||
);
|
);
|
||||||
string localHtmlDescription = localAssignment.GetDescriptionHtml(
|
string localHtmlDescription = localAssignment.GetDescriptionHtml(
|
||||||
localCourse.AssignmentTemplates
|
localCourse.Settings.AssignmentTemplates
|
||||||
);
|
);
|
||||||
|
|
||||||
var canvasAssignmentGroupId = localAssignment.GetCanvasAssignmentGroupId(localCourse.AssignmentGroups);
|
var canvasAssignmentGroupId = localAssignment.GetCanvasAssignmentGroupId(localCourse.Settings.AssignmentGroups);
|
||||||
|
|
||||||
return canvasAssignment != null
|
return canvasAssignment != null
|
||||||
? await updateAssignmentIfNeeded(
|
? await updateAssignmentIfNeeded(
|
||||||
@@ -55,7 +55,7 @@ public static partial class AssignmentSyncronizationExtensions
|
|||||||
{
|
{
|
||||||
var assignmentNeedsUpdates = localAssignment.NeedsUpdates(
|
var assignmentNeedsUpdates = localAssignment.NeedsUpdates(
|
||||||
canvasAssignments,
|
canvasAssignments,
|
||||||
localCourse.AssignmentTemplates,
|
localCourse.Settings.AssignmentTemplates,
|
||||||
canvasAssignmentGroupId,
|
canvasAssignmentGroupId,
|
||||||
quiet: false
|
quiet: false
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public static partial class QuizSyncronizationExtensions
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
var isCreated = localQuiz.QuizIsCreated(canvasQuizzes);
|
var isCreated = localQuiz.QuizIsCreated(canvasQuizzes);
|
||||||
var canvasAssignmentGroupId = localQuiz.GetCanvasAssignmentGroupId(localCourse.AssignmentGroups);
|
var canvasAssignmentGroupId = localQuiz.GetCanvasAssignmentGroupId(localCourse.Settings.AssignmentGroups);
|
||||||
if (isCreated)
|
if (isCreated)
|
||||||
{
|
{
|
||||||
// TODO write update
|
// TODO write update
|
||||||
|
|||||||
@@ -3,14 +3,6 @@ namespace LocalModels;
|
|||||||
public record LocalCourse
|
public record LocalCourse
|
||||||
{
|
{
|
||||||
public IEnumerable<LocalModule> Modules { get; init; } = Enumerable.Empty<LocalModule>();
|
public IEnumerable<LocalModule> Modules { get; init; } = Enumerable.Empty<LocalModule>();
|
||||||
|
|
||||||
public IEnumerable<LocalAssignmentGroup> AssignmentGroups { get; init; } =
|
|
||||||
Enumerable.Empty<LocalAssignmentGroup>();
|
|
||||||
public IEnumerable<DayOfWeek> DaysOfWeek { get; init; } = Enumerable.Empty<DayOfWeek>();
|
|
||||||
public SimpleTimeOnly DefaultDueTime { get; init; } = new SimpleTimeOnly();
|
|
||||||
public IEnumerable<AssignmentTemplate> AssignmentTemplates { get; init; } =
|
|
||||||
Enumerable.Empty<AssignmentTemplate>();
|
|
||||||
|
|
||||||
public LocalCourseSettings Settings { get; set; }
|
public LocalCourseSettings Settings { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user