@page "/Admin/Scheduler"
@using OrdersManagementDataModel.Dtos
@using Syncfusion.Blazor.Grids
@using Syncfusion.Blazor.Inputs
@using Syncfusion.Blazor.Buttons
@using OrdersManagement.Components
@inject HangfireService HangfireService
Zarządzanie Zadaniami
@code {
private List Tasks { get; set; } = new();
private TaskSchedulerDto NewTask { get; set; } = new();
protected override async Task OnInitializedAsync()
{
await LoadTasks();
}
public async Task OnActionBegin(ActionEventArgs args)
{
if (args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Delete))
{
await HangfireService.DeleteTaskSchedulerAsync(args.Data);
await LoadTasks();
}
}
private async Task AddTask()
{
var response = await HangfireService.AddTaskSchedulerAsync(NewTask);
if (response == 1)
{
NewTask = new TaskSchedulerDto();
await LoadTasks();
}
}
private async Task LoadTasks()
{
Tasks = (await HangfireService.GetTaskSchedulersAsync() ?? Array.Empty()).ToList();
}
}