referencing courses directly from canvas

This commit is contained in:
2023-07-15 23:19:39 -06:00
parent 5ece8b9d36
commit ed1963c67b
27 changed files with 370 additions and 249 deletions

View File

@@ -1,6 +1,7 @@
using CanvasModel.EnrollmentTerms;
using CanvasModel.Courses;
public class ConfigurationManagement : IConfigurationManagement
public class CoursePlanner
{
public void SetConfiguration(
EnrollmentTermModel canvasTerm,
@@ -18,8 +19,8 @@ public class ConfigurationManagement : IConfigurationManagement
}
public SemesterCalendarConfig? SemesterCalendar { get; set; } = null;
public IModuleManager ModuleManager {get; private set;} = new ModuleManager();
public IEnumerable<CourseModule> Modules { get; set; } = new CourseModule[] { };
public IEnumerable<LocalAssignment> Assignments { get; set; } = new LocalAssignment[] { };
public CourseModel? Course { get; set; } = null;
}

View File

@@ -1,8 +0,0 @@
using CanvasModel.EnrollmentTerms;
public interface IConfigurationManagement
{
SemesterCalendarConfig? SemesterCalendar { get; set; }
void SetConfiguration(EnrollmentTermModel canvasTerm, DayOfWeek[] daysOfWeek);
}

View File

@@ -1,6 +0,0 @@
public interface IModuleManager
{
IEnumerable<CourseModule> Modules { get; set; }
public void AddModule(CourseModule newModule);
public void AddAssignment(int moduleIndex, LocalAssignment assignment);
}

View File

@@ -1,22 +0,0 @@
public class ModuleManager : IModuleManager
{
public IEnumerable<CourseModule> Modules { get; set; } = new CourseModule[] { };
public void AddAssignment(int moduleIndex, LocalAssignment assignment)
{
var newAssignments = Modules.ElementAt(moduleIndex).Assignments.Append(assignment);
var newModule = Modules.ElementAt(moduleIndex) with { Assignments = newAssignments };
if (newModule == null)
throw new Exception($"cannot get module at index {moduleIndex}");
Modules = Modules
.Take(moduleIndex)
.Append(newModule)
.Concat(Modules.Skip(moduleIndex + 1));
}
public void AddModule(CourseModule newModule)
{
Modules = Modules.Append(newModule);
}
}