@page "/"
@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 = [];
private ScheduleOrdersGrid _grid { get; set; }
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();
//
// }
}
else
{
await _grid.RestoreFilterFromLocalStorage();
}
}
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;
}
}