diff --git a/Management.Web/Shared/Module/Assignment/AssignmentDetails.razor b/Management.Web/Shared/Module/Assignment/AssignmentDetails.razor
index 9ecbec9..6566951 100644
--- a/Management.Web/Shared/Module/Assignment/AssignmentDetails.razor
+++ b/Management.Web/Shared/Module/Assignment/AssignmentDetails.razor
@@ -84,7 +84,28 @@
{
Not synced with canvas
}
- @JsonSerializer.Serialize(Assignment.rubric)
+
+
+
+
+ Label
+
+
+ Points
+
+
+ @foreach(var rubricItem in Assignment.rubric)
+ {
+
+
+ @rubricItem.Label
+
+
+ @rubricItem.Points
+
+
+ }
+
diff --git a/Management.Web/Shared/Module/Assignment/AssignmentForm.razor b/Management.Web/Shared/Module/Assignment/AssignmentForm.razor
index 5a8c50f..498bb0c 100644
--- a/Management.Web/Shared/Module/Assignment/AssignmentForm.razor
+++ b/Management.Web/Shared/Module/Assignment/AssignmentForm.razor
@@ -40,13 +40,17 @@
private void submitHandler()
{
+ var totalRubricPoints = rubric
+ .Where(r => !r.Label.Contains(RubricItem.extraCredit))
+ .Select(s => s.Points)
+ .Sum();
var newAssignment = Assignment with
{
description=description,
lock_at_due_date=lockAtDueDate,
rubric=rubric,
+ points_possible=totalRubricPoints,
};
- System.Console.WriteLine(JsonSerializer.Serialize(newAssignment));
if(planner.LocalCourse != null)
{
diff --git a/Management.Web/Shared/Module/Assignment/RubricEditor.razor b/Management.Web/Shared/Module/Assignment/RubricEditor.razor
index 8fc22ea..0fb942c 100644
--- a/Management.Web/Shared/Module/Assignment/RubricEditor.razor
+++ b/Management.Web/Shared/Module/Assignment/RubricEditor.razor
@@ -28,6 +28,32 @@
SetRubric(newRubric);
StateHasChanged();
}
+ private void MoveUp(RubricItem item)
+ {
+ var rubricList = Rubric.ToList();
+ var index = rubricList.IndexOf(item);
+
+ if(index > 0)
+ {
+ var previous = rubricList[index - 1];
+ rubricList[index - 1] = item;
+ rubricList[index] = previous;
+ SetRubric(rubricList);
+ }
+ }
+ private void MoveDown(RubricItem item)
+ {
+ var rubricList = Rubric.ToList();
+ var index = rubricList.IndexOf(item);
+
+ if(index < rubricList.Count())
+ {
+ var next = rubricList[index + 1];
+ rubricList[index + 1] = item;
+ rubricList[index] = next;
+ SetRubric(rubricList);
+ }
+ }
}
@@ -35,15 +61,22 @@
@foreach (var rubricItem in Rubric)
{
-
+
}
-
- + rubric item
-
\ No newline at end of file
+
+
+ + rubric item
+
+
\ No newline at end of file
diff --git a/Management.Web/Shared/Module/Assignment/RubricEditorItem.razor b/Management.Web/Shared/Module/Assignment/RubricEditorItem.razor
index 6fae294..6a2e785 100644
--- a/Management.Web/Shared/Module/Assignment/RubricEditorItem.razor
+++ b/Management.Web/Shared/Module/Assignment/RubricEditorItem.razor
@@ -8,6 +8,10 @@
[Parameter, EditorRequired]
public Action OnUpdate { get; set; } = default!;
+ [Parameter, EditorRequired]
+ public Action MoveUp { get; set; } = default!;
+ [Parameter, EditorRequired]
+ public Action MoveDown { get; set; } = default!;
private void editItem(string label, int points)
{
var newRubricItem = RubricItem with
@@ -16,7 +20,6 @@
Points = points
};
OnUpdate(newRubricItem);
-
}
}
@@ -25,7 +28,12 @@
>
\ No newline at end of file
diff --git a/Management/Models/LocalAssignment.cs b/Management/Models/LocalAssignment.cs
index 4ebfec0..7b67c3e 100644
--- a/Management/Models/LocalAssignment.cs
+++ b/Management/Models/LocalAssignment.cs
@@ -1,5 +1,6 @@
public record RubricItem
{
+ public static readonly string extraCredit = "(Extra Credit) ";
public string Id { get; set; } = "";
public string Label { get; set; } = "";
public int Points { get; set; } = 0;