@page "/CustomerOrder/{CustomerOrderId:guid}" @attribute [Authorize] @inject CustomerOrderService CustomerOrderService @inject ScheduleOrderService ScheduleOrderService @inject NavigationManager NavigationManager @inject CustomAuthenticationStateProvider CustomAuthenticationStateProvider @using System.Security.Claims @using Microsoft.AspNetCore.Authorization @using SytelineSaAppEfDataModel.Dtos @using OrdersManagement.Components.Pages.Shared @using Syncfusion.Blazor.Grids @using Syncfusion.Blazor.Cards @using Syncfusion.Blazor.Buttons @using SelectionType = Syncfusion.Blazor.Grids.SelectionType @inherits LayoutComponentBase

Zamówienie klienta nr @(CustomerOrderDto?.CoNum ?? "Brak numeru")

Numer Zamówienia: @CustomerOrderDto?.CoNum
Numer Zamówienia Klienta: @CustomerOrderDto?.CustPo
Klient: @CustomerOrderDto?.CustNum
Numer Odbiorcy: @CustomerOrderDto?.CustSeq
Kontakt: @CustomerOrderDto?.Contact
Telefon: @CustomerOrderDto?.Phone
Data Zamówienia: @CustomerOrderDto?.OrderDate.ToString("yyyy-MM-dd HH:mm:ss")
Warunki: @CustomerOrderDto?.TermsCode
Wartość Brutto: @(CustomerOrderDto?.Price?.ToString("F2") ?? "N/A")
Status: @CustomerOrderDto?.TranslatedStatus
Magazyn: @CustomerOrderDto?.Whse
VAT: @CustomerOrderDto?.FrtTaxCode1
Typ Odbiorcy: @CustomerOrderDto?.EndUserType
Kurs Wymiany: @(CustomerOrderDto?.ExchRate?.ToString("F4") ?? "N/A")
Gate: @CustomerOrderDto?.Uf_FKR_EDI_Gate
RecipientCode: @CustomerOrderDto?.Uf_FKR_EDI_RecipientCode
SellerCode: @CustomerOrderDto?.Uf_FKR_EDI_SellerCode
SenderCode: @CustomerOrderDto?.Uf_FKR_EDI_SenderCode
BuyerCode: @CustomerOrderDto?.Uf_FKR_EDI_BuyerCode
Typ Dokumentu: @CustomerOrderDto?.Uf_DocType
@_text
@if (_isVisible) {
Zamówienie DELFOR do zamówienia @(CustomerOrderDto?.CoNum ?? "Brak numeru")
}
Indeksy
@{ var order = context as CustomerOrderLineDto;
Szczegóły
Numer zamówienia:@order?.CoNum
Linia:@order?.CoLine
Pozycja:@order?.Item
Pozycja Klienta:@order?.CustItem
Opis:@order?.Description
Łączna Ilość:@order?.BlanketQty.ToString("F2")
Status:@order?.TranslatedStatus
Cena:@(order?.ContPrice?.ToString("F2") ?? "N/A")
Ważne Od:@(order?.EffDate?.ToString("dd.MM.yyyy") ?? "N/A")
J/M:@order?.UM
BoxType:@order?.Uf_FKR_EDI_BLN_BoxType
Address:@order?.Uf_FKR_EDI_BLN_Address
FinalDestination:@order?.Uf_FKR_EDI_BLN_FinalDestination
QtyPerBox:@(order?.Uf_FKR_EDI_BLN_QtyPerBox?.ToString() ?? "N/A")
}
@if (_isVisibleCustomerOrderLine) {
Harmonogramy
@{ var detailLineItem = context as CustomerOrderLineItemDto;
Szczegóły
Numer Zamówienia:@detailLineItem?.CoNum
Linia:@detailLineItem?.CoLine
Zwolnienie:@detailLineItem?.CoRelease
Pozycja:@detailLineItem?.Item
Pozycja Klienta:@detailLineItem?.CustItem
Łączna Ilość Sztuk:@(detailLineItem?.QtyOrdered.ToString("F2") ?? "N/A")
Cena:@(detailLineItem?.Price.ToString("F2") ?? "N/A")
Data Wykonania:@(detailLineItem?.DueDate?.ToString("dd.MM.yyyy") ?? "N/A")
Data Rejestracji:@(detailLineItem?.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")
Magazyn:@detailLineItem?.Whse
Typ Documentu:@detailLineItem?.Uf_FKR_EDI_ITEM_DocumentType
Kod VAT:@detailLineItem?.TaxCode1
J/M:@detailLineItem?.UM
Numer Klienta:@detailLineItem?.CoCustNum
Opis:@detailLineItem?.Description
Status:@detailLineItem?.TranslatedStatus
RoutingCode:@detailLineItem?.Uf_FKR_EDI_ITEM_RoutingCode
DeliveryCallNumber:@detailLineItem?.Uf_FKR_EDI_ITEM_DeliveryCallNum
UnloadingPoint:@detailLineItem?.Uf_LOC_11_UnloadingPoint
DestinationPoint:@detailLineItem?.Uf_LOC_159_DestinationPoint
PalletCode:@detailLineItem?.Uf_FKR_EDI_ITEM_PalletCode
}
}
FA Krosno Manager © @(DateTime.Now.Year)
@code { [Parameter] public Guid CustomerOrderId { get; set; } private CustomerOrderDto CustomerOrderDto { get; set; } private List _customerOrderLines = []; private List _customerOrderLineItems = []; private IEnumerable? _scheduleOrders; CustomerOrderLineDto? _selectedCustomerOrderLine; private SfGrid? _customerOrderLinesGrid; private SfGrid? _customerOrderLineItemsGrid; private bool _isVisibleCustomerOrderLine; private SfGrid _gridRef = new(); private bool _isVisible = true; private string _text = "Pokaż powiązane zamówienia DELFOR"; protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await SetGridRef(_gridRef); StateHasChanged(); _isVisible = false; ClaimsPrincipal currentUser = CustomAuthenticationStateProvider.GetCurrentUser(); if (currentUser.Identity?.IsAuthenticated == false) { NavigationManager.NavigateTo("/Unauthorized"); } else { CustomerOrderDto? customerOrder = await CustomerOrderService.GetCustomerOrderAsync(CustomerOrderId); if (customerOrder != null) { CustomerOrderDto = customerOrder; _customerOrderLines = CustomerOrderDto.CustomerOrderLines.ToList() ?? []; } } } } private async Task ShowLastDelfors() { if (_isVisible) { _isVisible = false; _text = "Pokaż powiązane zamówienia DELFOR"; _scheduleOrders = []; } else { _scheduleOrders = await FetchScheduleOrdersAsync(); await _gridRef.Refresh(); StateHasChanged(); _isVisible = true; _text = "Ukryj"; } } private async Task SetGridRef(SfGrid grid) { _gridRef = grid; } private async Task> FetchScheduleOrdersAsync() { _scheduleOrders = []; IList scheduleOrderDetails = CustomerOrderDto?.EdiCustomerOrderTranslates?.Select(x => x.ScheduleOrderId).Distinct().ToList() ?? []; if (scheduleOrderDetails.Any()) { _scheduleOrders = await ScheduleOrderService.GetScheduleOrdersAsync() ?? new List(); _scheduleOrders = _scheduleOrders.Where(x => scheduleOrderDetails.Contains(x.ID)).OrderByDescending(x => x.LastUpdateDate).ToList(); } return _scheduleOrders; } private void OnSelectedLineRow(RowSelectEventArgs obj) { _selectedCustomerOrderLine = obj.Data as CustomerOrderLineDto; _isVisibleCustomerOrderLine = _selectedCustomerOrderLine != null; _customerOrderLineItems = _selectedCustomerOrderLine?.CustomerOrderLineItems.ToList() ?? []; } }