peace nirvana and no yellow warning lines in my console

This commit is contained in:
2023-12-05 16:33:04 -07:00
parent 6e49c79cbd
commit 91e946c36d
26 changed files with 75 additions and 397 deletions

View File

@@ -37,7 +37,7 @@ public class AssignmentEditorContext
public void SaveAssignment(LocalAssignment newAssignment)
{
if (planner.LocalCourse != null)
if (planner.LocalCourse != null && Assignment != null)
{
// run discovery on Assignment, it was the last stored version of the assignment
var currentModule = getCurrentLocalModule(Assignment, planner.LocalCourse);
@@ -106,7 +106,6 @@ public class AssignmentEditorContext
courseId: (ulong)planner.LocalCourse.Settings.CanvasId,
canvasAssignmentId: canvasAssignmentId,
localAssignment: Assignment,
htmlDescription: Assignment.GetDescriptionHtml(),
canvasAssignmentGroupId: (ulong)canvasAssignmentGroupId
);
}

View File

@@ -31,7 +31,7 @@ public class QuizEditorContext
get => _quiz;
set
{
if (_quiz == null && value != null)
if (_quiz == null && value != null && planner != null && planner.LocalCourse != null)
{
_module = getCurrentLocalModule(value, planner.LocalCourse);
}

View File

@@ -24,7 +24,6 @@ public static partial class AssignmentSyncronizationExtensions
var canvasAssignment = canvasAssignments.FirstOrDefault(
ca => ca.Name == localAssignment.Name
);
string localHtmlDescription = localAssignment.GetDescriptionHtml();
var canvasAssignmentGroupId = localAssignment.GetCanvasAssignmentGroupId(localCourse.Settings.AssignmentGroups);
@@ -35,10 +34,9 @@ public static partial class AssignmentSyncronizationExtensions
localAssignment,
canvasAssignment,
canvas,
localHtmlDescription,
canvasAssignmentGroupId
)
: await canvas.Assignments.Create(canvasCourseId, localAssignment, localHtmlDescription, canvasAssignmentGroupId);
: await canvas.Assignments.Create(canvasCourseId, localAssignment, canvasAssignmentGroupId);
}
private static async Task<ulong> updateAssignmentIfNeeded(
@@ -47,7 +45,6 @@ public static partial class AssignmentSyncronizationExtensions
LocalAssignment localAssignment,
CanvasAssignment canvasAssignment,
CanvasService canvas,
string localHtmlDescription,
ulong? canvasAssignmentGroupId
)
{
@@ -63,8 +60,7 @@ public static partial class AssignmentSyncronizationExtensions
courseId: canvasCourseId,
canvasAssignmentId: canvasAssignment.Id,
localAssignment,
localHtmlDescription,
(ulong)canvasAssignmentGroupId
canvasAssignmentGroupId
);
}
return canvasAssignment.Id;

View File

@@ -3,7 +3,7 @@ namespace LocalModels;
public record LocalCourse
{
public IEnumerable<LocalModule> Modules { get; init; } = Enumerable.Empty<LocalModule>();
public LocalCourseSettings Settings { get; set; }
public required LocalCourseSettings Settings { get; set; }
}
public record SimpleTimeOnly

View File

@@ -38,7 +38,6 @@ public class CanvasAssignmentService
public async Task<ulong> Create(
ulong canvasCourseId,
LocalAssignment localAssignment,
string htmlDescription,
ulong? canvasAssignmentGroupId
)
{
@@ -49,7 +48,7 @@ public class CanvasAssignmentService
{
name = localAssignment.Name,
submission_types = localAssignment.SubmissionTypes.Select(t => t.ToString()),
description = htmlDescription,
description = localAssignment.GetDescriptionHtml(),
due_at = localAssignment.DueAt,
lock_at = localAssignment.LockAt,
points_possible = localAssignment.PointsPossible,
@@ -71,8 +70,7 @@ public class CanvasAssignmentService
ulong courseId,
ulong canvasAssignmentId,
LocalAssignment localAssignment,
string htmlDescription,
ulong canvasAssignmentGroupId
ulong? canvasAssignmentGroupId
)
{
log.Log($"updating assignment: {localAssignment.Name}");

View File

@@ -64,8 +64,8 @@ public class CanvasService
if (data == null)
{
logger.Error(response.Content);
logger.Error(response.ResponseUri?.ToString());
logger.Error(response?.Content ?? "");
logger.Error(response?.ResponseUri?.ToString() ?? "");
throw new Exception("error getting course from canvas");
}
return data;

View File

@@ -23,7 +23,7 @@ public class FileStorageManager
this.logger.Log("Using storage directory: " + _basePath);
}
public async Task SaveCourseAsync(LocalCourse course, LocalCourse previouslyStoredCourse)
public async Task SaveCourseAsync(LocalCourse course, LocalCourse? previouslyStoredCourse)
{
await _saveMarkdownCourse.Save(course, previouslyStoredCourse);
}
@@ -39,7 +39,7 @@ public class FileStorageManager
return await _courseMarkdownLoader.LoadSavedMarkdownCourses();
}
public async Task<IEnumerable<string>> GetEmptyDirectories()
public IEnumerable<string> GetEmptyDirectories()
{
if(!Directory.Exists(_basePath))
throw new DirectoryNotFoundException($"Cannot get empty directories, {_basePath} does not exist");

View File

@@ -13,7 +13,7 @@ public class MarkdownCourseSaver
_basePath = FileConfiguration.GetBasePath();
}
public async Task Save(LocalCourse course, LocalCourse previouslyStoredCourse)
public async Task Save(LocalCourse course, LocalCourse? previouslyStoredCourse)
{
var courseDirectory = $"{_basePath}/{course.Settings.Name}";
if (!Directory.Exists(courseDirectory))