50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
@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;
|
|
|
|
<ScheduleOrdersGrid PageSize="20" PassGridRef="SetGridRef" GridData="_scheduleOrders" />
|
|
|
|
@code {
|
|
private IEnumerable<ScheduleOrderDto> _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<IEnumerable<ScheduleOrderDto>> FetchScheduleOrdersAsync()
|
|
{
|
|
_scheduleOrders = await ScheduleOrderService.GetScheduleOrdersAsync() ?? new List<ScheduleOrderDto>();
|
|
_scheduleOrders = _scheduleOrders.OrderByDescending(x => x.LastUpdateDate).ToList();
|
|
return _scheduleOrders;
|
|
}
|
|
|
|
private SfGrid<ScheduleOrderDto> _gridRef;
|
|
|
|
private async Task SetGridRef(SfGrid<ScheduleOrderDto> grid)
|
|
{
|
|
_gridRef = grid;
|
|
}
|
|
} |