Feat: Add homework deletion
All checks were successful
SonarQube Scan / SonarQube Trigger (push) Successful in 36s

This commit is contained in:
Namu
2025-11-30 23:21:22 +01:00
parent 97177673e2
commit b19203281d
5 changed files with 16 additions and 8 deletions

View File

@@ -1,10 +1,11 @@
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
@rendermode InteractiveServer
@using WorkManagementTool.Services
@using WorkManagementTool.Data.Entities
@inject HomeworkService HomeworkService
<button class="btn btn-danger">-</button>
<button class="btn btn-danger" @onclick="Delete">-</button>
@code {
[Parameter]

View File

@@ -19,28 +19,29 @@
<label class="form-check-label" for="showCompleted">Show Completed</label>
</div>
@if (homeworkList == null)
@if (homeworks == null)
{
<p>Loading...</p>
}
else if (homeworkList.Count == 0)
else if (homeworks.Count == 0)
{
<p>No homework found</p>
}
else
{
<ul>
@foreach (var homework in homeworkList)
@foreach (var homework in homeworks)
{
<li>
<strong>@homework.Title</strong> - Due: @homework.DueDate.ToShortDateString() - Completed: @(homework.IsCompleted ? "Yes" : "No")
<HomeworkDeletion HomeworkId="@homework.Id" OnDeleted="HandleDeletion" />
</li>
}
</ul>
}
@code {
private List<Homework>? homeworkList;
private List<Homework>? homeworks;
[Parameter]
public int IdSchoolSubject { get; set; }
private bool showCompleted { get; set; } = false;
@@ -50,16 +51,22 @@ else
await LoadHomeworksAsync();
}
private async Task HandleDeletion(int deletedIt)
{
homeworks?.RemoveAll(s => s.Id == deletedIt);
StateHasChanged();
}
private async Task LoadHomeworksAsync()
{
homeworkList = new();
homeworks = new();
var uncompletedHomework = await HomeworkService.GetUncompletedHomeworkAsync(IdSchoolSubject);
homeworkList.AddRange(uncompletedHomework);
homeworks.AddRange(uncompletedHomework);
if (showCompleted)
{
var completedHomework = await HomeworkService.GetCompletedHomeworksAsync(IdSchoolSubject);
homeworkList.AddRange(completedHomework);
homeworks.AddRange(completedHomework);
}
}
}