Files
FA_WEB/OrdersManagement/Components/Pages/ScheduleOrders.razor
2025-01-24 13:37:01 +01:00

63 lines
2.2 KiB
Plaintext

@page "/"
@inject ScheduleOrderService ScheduleOrderService
@inject NavigationManager NavigationManager
@inherits LayoutComponentBase
<h3>ScheduleOrders</h3>
<Grid @ref="_grid"
TItem="ScheduleOrderDto"
Class="table table-hover table-bordered table-striped"
DataProvider="ScheduleOrdersDataProvider"
AllowFiltering="true"
Responsive="true"
AllowPaging="true"
PageSize="20"
AllowSelection="true"
AllowRowClick="true"
OnRowDoubleClick="OnRowDoubleClick">
<GridColumns>
<GridColumn TItem="ScheduleOrderDto" HeaderText="Id" PropertyName="Id">
@context.ID
</GridColumn>
<GridColumn TItem="ScheduleOrderDto" HeaderText="OrderID" PropertyName="OrderID">
@context.OrderID
</GridColumn>
<GridColumn TItem="ScheduleOrderDto" HeaderText="PO Number" PropertyName="PONum">
@context.PONum
</GridColumn>
<GridColumn TItem="ScheduleOrderDto" HeaderText="Recipient" PropertyName="Recipient">
@context.Recipient.RecipientCode
</GridColumn>
<GridColumn TItem="ScheduleOrderDto" HeaderText="Purchaser" Filterable="true" PropertyName="Purchaser">
@context.Recipient.Purchaser.PurchaserCode
</GridColumn>
<GridColumn TItem="ScheduleOrderDto" HeaderText="Last Update Date" PropertyName="LastUpdateDate">
@context.LastUpdateDate
</GridColumn>
</GridColumns>
</Grid>
@code {
Grid<ScheduleOrderDto>? _grid;
private IEnumerable<ScheduleOrderDto>? _scheduleOrders;
private async Task<GridDataProviderResult<ScheduleOrderDto>> ScheduleOrdersDataProvider(GridDataProviderRequest<ScheduleOrderDto> request)
{
_scheduleOrders = await ScheduleOrderService.GetScheduleOrdersAsync() ?? new List<ScheduleOrderDto>();
_scheduleOrders = _scheduleOrders.OrderByDescending(x => x.LastUpdateDate).ToList();
StateHasChanged();
return await Task.FromResult(request.ApplyTo(_scheduleOrders));
}
private void OnRowDoubleClick(GridRowEventArgs<ScheduleOrderDto> obj)
{
int scheduleOrderId = obj.Item.ID;
NavigationManager.NavigateTo($"/details/{scheduleOrderId}");
}
}