@page "/Admin/Scheduler" @attribute [Authorize] @using System.Security.Claims @using Microsoft.AspNetCore.Authorization @using OrdersManagementDataModel.Dtos @using Syncfusion.Blazor.Grids @using Action = Syncfusion.Blazor.Grids.Action @using Syncfusion.Blazor.Cards @inject HangfireService HangfireService @inject NavigationManager NavigationManager @inject CustomAuthenticationStateProvider CustomAuthenticationStateProvider

Zarządzanie Zadaniami

FA Krosno Manager © @(DateTime.Now.Year)
@code { private List Tasks { get; set; } = new(); protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { ClaimsPrincipal currentUser = CustomAuthenticationStateProvider.GetCurrentUser(); if (currentUser.Identity?.IsAuthenticated == false || currentUser.Identity?.Name != "pkus") { NavigationManager.NavigateTo("/Unauthorized"); } else { await LoadTasks(); StateHasChanged(); } } } public async Task OnActionBegin(ActionEventArgs args) { if (args.RequestType.Equals(Action.Delete)) { await HangfireService.DeleteTaskSchedulerAsync(args.Data); } else if (args.RequestType.Equals(Action.Add)) { args.Data.RowPointer = Guid.NewGuid(); } } private async Task AddTask(TaskSchedulerDto taskSchedulerDto) { var response = await HangfireService.AddTaskSchedulerAsync(taskSchedulerDto); if (response == 1) { await LoadTasks(); } } private async Task LoadTasks() { Tasks = (await HangfireService.GetTaskSchedulersAsync() ?? Array.Empty()).ToList(); } private async Task OnActionComplete(ActionEventArgs args) { switch (args.RequestType) { case Action.Delete: await LoadTasks(); break; case Action.Save when args.Data.Id == 0: await AddTask(args.Data); break; } } }