@inject NavigationManager NavigationManager
@using Syncfusion.Blazor.Grids
@using Syncfusion.Blazor.Cards
@inherits LayoutComponentBase
@inject ScheduleOrderService ScheduleOrderService
Zamówienia DELFOR
@{
IList? scheduleOrderDetails = (@context as ScheduleOrderDto)?.ScheduleOrderDetails;
@{
IList? scheduleOrderDetailsDetails = (@detail as ScheduleOrderDetailDto)?.ScheduleOrderDetailDetails;
}
}
Orders Management System © @(DateTime.Now.Year)
@code {
[Parameter] public required IEnumerable GridData { get; set; }
[Parameter] public required Func, Task> PassGridRef { get; set; }
[Parameter] public required int PageSize { get; set; }
private ScheduleOrderDto? ScheduleOrderDto { get; set; }
private SfGrid? Grid { get; set; }
private IEnumerable _dataSource = [];
protected override void OnParametersSet()
{
_dataSource = GridData;
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender && Grid != null)
{
await PassGridRef(Grid);
}
}
private void OnScheduleOrderRowDoubleClick(RecordDoubleClickEventArgs obj)
{
int scheduleOrderId = obj.RowData.ID;
NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
}
private void OnScheduleOrderDetailRowDoubleClick(RecordDoubleClickEventArgs obj)
{
int? scheduleOrderId = ScheduleOrderDto?.ID;
if (scheduleOrderId is not null)
{
NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
}
}
private void OnScheduleOrderDetailDetailRowDoubleClick(RecordDoubleClickEventArgs obj)
{
int? scheduleOrderId = ScheduleOrderDto?.ID;
if (scheduleOrderId is not null)
{
NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
}
}
private async Task OnDetailsExpanding(DetailsExpandingEventArgs obj)
{
ScheduleOrderDto = obj.Data;
if (ScheduleOrderDto != null)
{
ScheduleOrderDto? scheduleOrder = await ScheduleOrderService.GetScheduleOrderAsync(ScheduleOrderDto.ID);
ScheduleOrderDto.ScheduleOrderDetails = scheduleOrder?.ScheduleOrderDetails ?? [];
foreach (ScheduleOrderDetailDto scheduleOrderDetailDto in ScheduleOrderDto.ScheduleOrderDetails)
{
scheduleOrderDetailDto.OrderNumber = scheduleOrder?.PONum;
scheduleOrderDetailDto.RecipientCode = scheduleOrder?.RecipientCode;
scheduleOrderDetailDto.RecipientName = scheduleOrder?.RecipientName;
scheduleOrderDetailDto.PurchaserName = scheduleOrder?.PurchaserCode;
}
}
}
private void OnRowDataBound(RowDataBoundEventArgs args)
{
if (args.Data.QtyType == "83" || args.Data.QtyType == "84")
{
args.Row.AddClass(["highlight-red"]);
}
}
}