@using Management.Web.Shared.Components @using Management.Web.Course.Module.Assignment @using CanvasModel.Assignments @inject DragContainer dragContainer @inject NavigationManager Navigation @inject AssignmentEditorContext assignmentContext @inherits DroppableAssignment @code { [Parameter] [EditorRequired] public LocalModule Module { get; set; } = new(); protected override void OnInitialized() { planner.StateHasChanged += reload; } private void reload() { this.InvokeAsync(this.StateHasChanged); } public void Dispose() { planner.StateHasChanged -= reload; } private bool showAll { get; set; } = false; private void HandleDragStart() { dragContainer.DropCallback = DropCallback; } private void HandleDragEnd() { dragContainer.DropCallback = null; } private CanvasAssignment? assignmentInCanvas => planner .CanvasAssignments? .FirstOrDefault( a => a.Name == Assignment.Name ); private bool existsInCanvas => assignmentInCanvas != null; private void OnClick() { assignmentContext.Assignment = Assignment; Navigation.NavigateTo("/course/" + planner.LocalCourse?.Settings.Name + "/assignment/" + Assignment.Name); } private bool NeedsToBeUpdatedInCanvas => planner.LocalCourse != null && planner.LocalCourse.Settings.CanvasId != null && planner.CanvasAssignments != null && planner.CanvasModules != null && assignmentInCanvas != null && Assignment.NeedsUpdates( (CanvasAssignment)assignmentInCanvas, Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.Settings.AssignmentGroups) ); }

@Assignment.Name

@if(existsInCanvas) { @if(NeedsToBeUpdatedInCanvas) { } else { } } else { }
@if( planner.LocalCourse != null && existsInCanvas && NeedsToBeUpdatedInCanvas && assignmentInCanvas != null ) {
@Assignment.GetUpdateReason( (CanvasAssignment)assignmentInCanvas, Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.Settings.AssignmentGroups))
} @if(!existsInCanvas) {
no assignment with same name in canvas
} @if(!showAll) {
Points: @Assignment.PointsPossible
Due At: @Assignment.DueAt
} else {
@((MarkupString) @Assignment.GetDescriptionHtml())
Points: @Assignment.PointsPossible
Due At: @Assignment.DueAt
Lock At: @Assignment.LockAt
Submission Types:
    @foreach(var type in Assignment.SubmissionTypes) {
  • @type
  • }
} @if(!showAll) {
} else {
}