mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
removed assignment id from edit and delete workflow
This commit is contained in:
@@ -26,9 +26,10 @@ public class AssignmentEditorContext
|
||||
{
|
||||
if (planner.LocalCourse != null)
|
||||
{
|
||||
// run discovery on Assignment, it was the last stored version of the assignment
|
||||
var currentModule =
|
||||
planner.LocalCourse.Modules.First(
|
||||
m => m.Assignments.Select(a => a.Id).Contains(newAssignment.Id)
|
||||
m => m.Assignments.Contains(Assignment)
|
||||
) ?? throw new Exception("could not find current module in assignment editor context");
|
||||
|
||||
var updatedModules = planner.LocalCourse.Modules
|
||||
@@ -38,7 +39,7 @@ public class AssignmentEditorContext
|
||||
? currentModule with
|
||||
{
|
||||
Assignments = currentModule.Assignments
|
||||
.Select(a => a.Id == newAssignment.Id ? newAssignment : a)
|
||||
.Select(a => a == Assignment ? newAssignment : a)
|
||||
.ToArray()
|
||||
}
|
||||
: m
|
||||
|
||||
@@ -105,4 +105,17 @@ public record LocalAssignment
|
||||
var yaml = serializer.Serialize(this);
|
||||
return yaml;
|
||||
}
|
||||
|
||||
public string ToMarkdown()
|
||||
{
|
||||
var assignmentYaml = ToYaml();
|
||||
var assignmentMarkdown =
|
||||
"```yaml" + Environment.NewLine
|
||||
+ assignmentYaml
|
||||
+ "```" + Environment.NewLine
|
||||
+ "<!-- assignment markdown below -->" + Environment.NewLine
|
||||
+ Description;
|
||||
|
||||
return assignmentMarkdown;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ public class FileStorageManager
|
||||
return true;
|
||||
});
|
||||
|
||||
foreach(var file in filesToDelete)
|
||||
foreach (var file in filesToDelete)
|
||||
{
|
||||
logger.Log($"removing old quiz, it has probably been renamed {file}");
|
||||
File.Delete(file);
|
||||
@@ -104,7 +104,7 @@ public class FileStorageManager
|
||||
|
||||
}
|
||||
|
||||
private static async Task saveAssignments(LocalCourse course, LocalModule module)
|
||||
private async Task saveAssignments(LocalCourse course, LocalModule module)
|
||||
{
|
||||
var assignmentsDirectory = $"../storage/{course.Settings.Name}/{module.Name}/assignments";
|
||||
if (!Directory.Exists(assignmentsDirectory))
|
||||
@@ -112,17 +112,34 @@ public class FileStorageManager
|
||||
|
||||
foreach (var assignment in module.Assignments)
|
||||
{
|
||||
var assignmentYaml = assignment.ToYaml();
|
||||
var assignmentMarkdown =
|
||||
"```yaml" + Environment.NewLine
|
||||
+ assignmentYaml
|
||||
+ "```" + Environment.NewLine
|
||||
+ "<!-- assignment markdown below -->" + Environment.NewLine
|
||||
+ assignment.Description;
|
||||
var assignmentMarkdown = assignment.ToMarkdown();
|
||||
|
||||
var filePath = assignmentsDirectory + "/" + assignment.Name + ".md";
|
||||
await File.WriteAllTextAsync(filePath, assignmentMarkdown);
|
||||
}
|
||||
removeOldAssignments(assignmentsDirectory, module);
|
||||
}
|
||||
private void removeOldAssignments(string path, LocalModule module)
|
||||
{
|
||||
var existingFiles = Directory.EnumerateFiles(path);
|
||||
|
||||
var filesToDelete = existingFiles.Where((f) =>
|
||||
{
|
||||
foreach (var assignment in module.Assignments)
|
||||
{
|
||||
var markdownPath = path + "/" + assignment.Name + ".md";
|
||||
if (f == markdownPath)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
foreach (var file in filesToDelete)
|
||||
{
|
||||
logger.Log($"removing old assignment, it has probably been renamed {file}");
|
||||
File.Delete(file);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<LocalCourse>> LoadSavedCourses()
|
||||
|
||||
Reference in New Issue
Block a user