31 lines
775 B
Plaintext
31 lines
775 B
Plaintext
@using Microsoft.AspNetCore.Authorization
|
|
@using WorkManagementTool.Data.Entities;
|
|
@using WorkManagementTool.Services;
|
|
|
|
@inject ProjectService ProjectService
|
|
|
|
@attribute [Authorize]
|
|
|
|
@rendermode InteractiveServer
|
|
|
|
<button class="btn btn-danger" @onclick="DeleteProjectAsync">-</button>
|
|
|
|
@code {
|
|
[Parameter]
|
|
public int ProjectId { get; set; }
|
|
|
|
public async Task DeleteProjectAsync(MouseEventArgs e)
|
|
{
|
|
var project = await ProjectService.GetProjectByIdAsync(ProjectId);
|
|
if (project is null)
|
|
throw new ArgumentNullException(nameof(project));
|
|
|
|
await ProjectService.DeleteProjectAsync(project.Id);
|
|
|
|
await OnDeleted.InvokeAsync(ProjectId);
|
|
}
|
|
|
|
[Parameter]
|
|
public EventCallback<int> OnDeleted { get; set; }
|
|
}
|