+ @* data-bs-parent="#modulesAccordion" include to limit expanded sections *@
diff --git a/Management.Web/Shared/Semester/AssignmentInDay.razor b/Management.Web/Shared/Semester/AssignmentInDay.razor
new file mode 100644
index 0000000..7188dbe
--- /dev/null
+++ b/Management.Web/Shared/Semester/AssignmentInDay.razor
@@ -0,0 +1,64 @@
+
+@inject AssignmentDragContainer dragContainer
+@inject CoursePlanner planner
+
+@code {
+ [Parameter]
+ [EditorRequired]
+ public LocalAssignment Assignment { get; set; } = new();
+
+ private void HandleDragStart()
+ {
+ dragContainer.DropCallback = (DateTime dropDate) => {
+ var module = planner
+ .LocalCourse?
+ .Modules
+ .First(m =>
+ m.Assignments
+ .Select(a => a.id)
+ .Contains(Assignment.id)
+ );
+ if (module == null)
+ {
+ Console.WriteLine("module is null");
+ return;
+ }
+ if (planner.LocalCourse != null)
+ {
+ var newCourse = planner.LocalCourse with
+ {
+ Modules = planner.LocalCourse.Modules.Select(m =>
+ m.Name != module.Name
+ ? m
+ : m with
+ {
+ Assignments = module.Assignments.Select(a =>
+ a.id != Assignment.id
+ ? a
+ : a with
+ {
+ due_at=dropDate
+ }
+ )
+ }
+ )
+ };
+ planner.LocalCourse = newCourse;
+ }
+ };
+ }
+
+ private void HandleDragEnd()
+ {
+ dragContainer.DropCallback = null;
+ }
+}
+
+
+ @Assignment.name
+
\ No newline at end of file
diff --git a/Management.Web/Shared/Semester/Day.razor b/Management.Web/Shared/Semester/Day.razor
index 4e8c2a6..c3e8b17 100644
--- a/Management.Web/Shared/Semester/Day.razor
+++ b/Management.Web/Shared/Semester/Day.razor
@@ -56,7 +56,9 @@
&& date < planner.LocalCourse.EndDate
&& date > planner.LocalCourse.StartDate;
- var totalClasses = dayInSemester ? $"bg-light-subtle text-light " + baseClasses : baseClasses;
+ var totalClasses = dayInSemester
+ ? "bg-light-subtle text-light " + baseClasses
+ : " " + baseClasses;
return totalClasses;
}
@@ -97,10 +99,10 @@
ondragover="event.preventDefault();"
>
@(isWeekDay ? date?.Day : "")
-
\ No newline at end of file
diff --git a/Management.Web/Shared/Semester/MonthDetail.razor b/Management.Web/Shared/Semester/MonthDetail.razor
index e2e30ed..bd5e2d6 100644
--- a/Management.Web/Shared/Semester/MonthDetail.razor
+++ b/Management.Web/Shared/Semester/MonthDetail.razor
@@ -35,20 +35,6 @@
@foreach (var day in week)
{
-
- @* var baseClasses = "col border rounded rounded-3 pb-5 m-1";
- DayOfWeek? weekDay = day?.DayOfWeek;
- if (weekDay != null)
- {
- DayOfWeek notNullDay = weekDay ?? default;
- var dayInSemester = Semester.Days.Contains(notNullDay) && day < Semester.LastDay && day > Semester.FirstDay;
- var totalClasses = dayInSemester ? $"bg-light {baseClasses}" : baseClasses;
-
@day?.Day
- }
- else
- {
-
- } *@
}
diff --git a/Management/Models/Local/LocalCourse.cs b/Management/Models/Local/LocalCourse.cs
index 170fbf5..f9c58da 100644
--- a/Management/Models/Local/LocalCourse.cs
+++ b/Management/Models/Local/LocalCourse.cs
@@ -8,4 +8,11 @@ public record LocalCourse
public ulong? CanvasId { get; init; }
public DateTime StartDate { get; init; }
public DateTime EndDate { get; init; }
+ public SimpleTimeOnly DefaultDueTime { get; init; } = new SimpleTimeOnly();
+}
+
+public record SimpleTimeOnly
+{
+ public int Hour { get; init; } = 1;
+ public int Minute { get; init; } = 0;
}