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 @using Microsoft.AspNetCore.Authorization
@attribute [Authorize] @attribute [Authorize]
@rendermode InteractiveServer
@using WorkManagementTool.Services @using WorkManagementTool.Services
@using WorkManagementTool.Data.Entities @using WorkManagementTool.Data.Entities
@inject HomeworkService HomeworkService @inject HomeworkService HomeworkService
<button class="btn btn-danger">-</button> <button class="btn btn-danger" @onclick="Delete">-</button>
@code { @code {
[Parameter] [Parameter]

View File

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