@page "/ScheduleOrders"
@attribute [Authorize]
@using System.Security.Claims
@using Microsoft.AspNetCore.Authorization
@using OrdersManagement.Components.Pages.Shared
@using Syncfusion.Blazor.Grids
@inject ScheduleOrderService ScheduleOrderService
@inject CustomAuthenticationStateProvider CustomAuthenticationStateProvider
@inject NavigationManager NavigationManager;
@code {
private IEnumerable _scheduleOrders = [];
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
ClaimsPrincipal currentUser = CustomAuthenticationStateProvider.GetCurrentUser();
if (currentUser.Identity?.IsAuthenticated == false)
{
NavigationManager.NavigateTo("/Unauthorized");
}
else
{
_scheduleOrders = await FetchScheduleOrdersAsync();
StateHasChanged();
}
}
}
private async Task> FetchScheduleOrdersAsync()
{
_scheduleOrders = await ScheduleOrderService.GetScheduleOrdersAsync() ?? new List();
_scheduleOrders = _scheduleOrders.OrderByDescending(x => x.LastUpdateDate).ToList();
return _scheduleOrders;
}
private SfGrid _gridRef;
private async Task SetGridRef(SfGrid grid)
{
_gridRef = grid;
}
}