@page "/CustomerOrder/{CustomerOrderId:guid}" @inject CustomerOrderService CustomerOrderService @inject ScheduleOrderService ScheduleOrderService @using SytelineSaAppEfDataModel.Dtos @using OrdersManagement.Components.Pages.Shared @using GridColumns = BlazorBootstrap.GridColumns @inherits LayoutComponentBase

Zamówienie klienta nr @CustomerOrders.FirstOrDefault()?.CoNum


Numer Zamówienia: @context.CoNum
Numer Zamówienia Klienta: @context.CustPo
Klient: @context.CustNum
Numer Odbiorcy: @context.CustSeq
Kontakt: @context.Contact
Telefon: @context.Phone
Data Zamówienia: @context.OrderDate.ToString("yyyy-MM-dd HH:mm:ss")
Warunki: @context.TermsCode
Wartość Brutto: @(context.Price?.ToString("F2") ?? "N/A")
Status: @context.TranslatedStatus
Magazyn: @context.Whse
VAT: @context.FrtTaxCode1
Typ Odbiorcy: @context.EndUserType
Kurs Wymiany: @(context.ExchRate?.ToString("F4") ?? "N/A")
Gate: @context.Uf_FKR_EDI_Gate
RecipientCode: @context.Uf_FKR_EDI_RecipientCode
SelletCode: @context.Uf_FKR_EDI_SellerCode
SenderCode: @context.Uf_FKR_EDI_SenderCode
BuyerCode: @context.Uf_FKR_EDI_BuyerCode
Typ Dokumentu: @context.Uf_DocType


@* @if (_isVisible) *@ @* { *@ @*
*@ @*

Zamówienie DELFOR do zamówienia @CustomerOrders.FirstOrDefault()?.CoNum

*@ @*
*@ @*
*@ @*
*@ @* *@ @*
*@ @*
*@ @* } *@

Indeksy

@context.CoLine @context.Item @context.CustItem @context.Description @context.BlanketQty @context.UM @context.ContPrice @context.TranslatedStatus
@if (_isVisibleCustomerOrderLine) {

Szczegóły

Numer zamówienia:@context.CoNum
Linia:@context.CoLine
Pozycja:@context.Item
Pozycja Klienta:@context.CustItem
Opis:@context.Description
Łączna Ilość:@context.BlanketQty.ToString("F2")
Status:@context.TranslatedStatus
Cena:@(context.ContPrice?.ToString("F2") ?? "N/A")
Ważne Od:@(context.EffDate?.ToString("dd.MM.yyyy") ?? "N/A")
J/M:@context.UM
BoxType:@context.Uf_FKR_EDI_BLN_BoxType
Address:@context.Uf_FKR_EDI_BLN_Address
FinalDestination:@context.Uf_FKR_EDI_BLN_FinalDestination
QtyPerBox:@(context.Uf_FKR_EDI_BLN_QtyPerBox?.ToString() ?? "N/A")

Harmonogramy

@context.CoLine @context.CoRelease @context.Item @context.CustItem @context.QtyOrdered @context.DueDate?.ToString("dd.MM.yyyy") @context.TranslatedStatus
@if (_isVisibleCustomerOrderLineItem) {

Szczegóły

Numer Zamówienia:@context.CoNum
Linia:@context.CoLine
Zwolnienie:@context.CoRelease
Pozycja:@context.Item
Pozycja Klienta:@context.CustItem
Łączna Ilość Sztuk:@(context.QtyOrdered.ToString("F2") ?? "N/A")
Cena:@(context.Price.ToString("F2") ?? "N/A")
Data Wykonania:@(context.DueDate?.ToString("dd.MM.yyyy") ?? "N/A")
Data Rejestracji:@(context.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")
Magazyn:@context.Whse
Typ Documentu:@context.Uf_FKR_EDI_ITEM_DocumentType
Kod VAT:@context.TaxCode1
J/M:@context.UM
Numer Klienta:@context.CoCustNum
Opis:@context.Description
Status:@context.TranslatedStatus
RoutingCode:@context.Uf_FKR_EDI_ITEM_RoutingCode
DeliveryCallNumber:@context.Uf_FKR_EDI_ITEM_DeliveryCallNum
UnloadingPoint:@context.Uf_LOC_11_UnloadingPoint
DestinationPoint:@context.Uf_LOC_159_DestinationPoint
PalletCode:@context.Uf_FKR_EDI_ITEM_PalletCode
} } @code { [Parameter] public Guid CustomerOrderId { get; set; } private List CustomerOrders { get; set; } = []; private List _customerOrderLines = []; private List _customerOrderLineItems = []; private IEnumerable? _scheduleOrders; private List _selectedCustomerOrderLine = []; private List _selectedCustomerOrderLineItem = []; private Grid? _customerOrderLinesGrid; private Grid? _customerOrderLineItemsGrid; private bool _isVisibleCustomerOrderLine; private bool _isVisibleCustomerOrderLineItem; // private SfGrid _gridRef = new(); private bool _isVisible = true; private string _text = "Pokaż powiązane zamówienia DELFOR"; protected override async Task OnInitializedAsync() { CustomerOrderDto? customerOrder = await CustomerOrderService.GetCustomerOrderAsync(CustomerOrderId); if (customerOrder != null) { CustomerOrders = [customerOrder]; _customerOrderLines = customerOrder.CustomerOrderLines.ToList() ?? []; } } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { // await SetGridRef(_gridRef); StateHasChanged(); _isVisible = false; } } private void SelectedCustomerOrderLineChanged(HashSet obj) { _isVisibleCustomerOrderLine = obj.Any(); _selectedCustomerOrderLine = [obj.FirstOrDefault()]; _customerOrderLineItems = obj.FirstOrDefault()?.CustomerOrderLineItems.ToList() ?? []; } private void SelectedCustomerOrderLineItemChanged(HashSet obj) { _isVisibleCustomerOrderLineItem = obj.Any(); _selectedCustomerOrderLineItem = [obj.FirstOrDefault()]; } private async Task ShowLastDelfors() { if (_isVisible) { _isVisible = false; _text = "Pokaż powiązane zamówienia DELFOR"; _scheduleOrders = []; } else { // await _gridRef.Refresh(); StateHasChanged(); _isVisible = true; _text = "Ukryj"; } } // private async Task SetGridRef(SfGrid grid) // { // _gridRef = grid; // } private async Task> ScheduleOrdersDataProvider(GridDataProviderRequest request) { _scheduleOrders = []; IList scheduleOrderDetails = CustomerOrders?.FirstOrDefault()?.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 await Task.FromResult(request.ApplyTo(_scheduleOrders)); } }