@page "/EdiCustomerOrders" @rendermode InteractiveServer @inject EdiCustomerOrderService EdiCustomerOrderService @inject NavigationManager NavigationManager @using Microsoft.AspNetCore.Authorization @using OrdersManagement.Models @using SytelineSaAppEfDataModel.Dtos @using Syncfusion.Blazor.Grids @using Syncfusion.Blazor.Cards @using Syncfusion.Blazor.Popups @using Syncfusion.Blazor.Buttons @using SelectionType = Syncfusion.Blazor.Grids.SelectionType @inherits LayoutComponentBase
Zamówienia Klienta EDI

@if (_isVisible) {
@_text

} @{ var order = context as EdiCustomerOrderDto;
Numer zamówienia EDI:@order?.CustomerOrderNumber
Numer zamówienia Klienta:@order?.CustomerPoNumber
Numer klienta:@order?.CustomerNumber
Klient:@order?.CustomerName
Numer odbiorcy:@(order?.CustomerSequence?.ToString() ?? "N/A")
Data otrzymania:@(order?.RecivedDate?.ToString("dd.MM.yyyy") ?? "N/A")
Wysłano do Syteline?:@((order?.Posted?.ToString() ?? "0") == "0" ? "NIE" : "TAK")
Data wysyłki do Syteline:@(order?.PostedDate?.ToString("dd.MM.yyyy") ?? "N/A")
Data zamówienia:@(order?.OrderDate?.ToString("dd.MM.yyyy") ?? "N/A")
Cena:@(order?.Price?.ToString("F2") ?? "N/A")
Waga:@(order?.Weight?.ToString("F2") ?? "N/A")
Magazyn:@order?.Warehouse
Gate:@order?.Gate
Kod odbiorcy:@order?.RecipientCode
Kod wysyłającego:@order?.SenderCode
Kod sprzedawcy:@order?.SellerCode
Kod kupującego:@order?.BuyerCode
Typ dokumentu:@order?.DocType
}
@if (_responses.Any(x => x.Status == 1)) { foreach (ResponseModel? response in _responses.Where(x => x.Status == 1)) {

Zamówienie EDI @response.Identifier zostało poprawnie zaksięgowane w Zamówieniach klienta pod numerem '@response.ExternalIdentifier'

} } @if (_responses.Any(x => x.Status == 0)) { foreach (ResponseModel? response in _responses.Where(x => x.Status == 0)) {

Błąd: Zamówienie EDI @response.Identifier nie zostało poprawnie zaksięgowane w Zamówieniach klienta.
Lista błędów:
@response.Message

} }
@code { private bool Visibility { get; set; } private SfGrid? _grid; private IEnumerable _ediCustomerOrders = []; private List _selectedEdiCustomerOrders = new(); private List _responses = new(); private bool _isVisible; private bool? _filter = false; private string _text = "Księguj bieżący"; protected override async Task OnInitializedAsync() { await LoadData(); } private void OnRowDoubleClick(RecordDoubleClickEventArgs obj) { Guid customerOrderId = obj.RowData.RowPointer; NavigationManager.NavigateTo($"/EdiCustomerOrder/{customerOrderId}"); } private async Task SendOrderToSyteLine() { if (!_selectedEdiCustomerOrders.Any()) return false; _responses = new List(); foreach (EdiCustomerOrderDto selectedEdiCustomerOrder in _selectedEdiCustomerOrders) { ResponseModel? response = await EdiCustomerOrderService.SendOrderToSyteline(selectedEdiCustomerOrder.RowPointer, selectedEdiCustomerOrder.CustomerOrderNumber); if (response.Status == 1) { response.ExternalIdentifier = selectedEdiCustomerOrder.EdiCustomerOrderTranslates.FirstOrDefault()?.CoCoNum; } _responses.Add(response); } Visibility = true; await LoadData(); _grid?.Refresh(); _isVisible = false; return true; } private void HideModal() { Visibility = false; } private async Task RowSelected(RowSelectEventArgs obj) { List selectedRecords = await _grid.GetSelectedRecordsAsync(); _isVisible = false; if (!selectedRecords.Any()) return; _selectedEdiCustomerOrders = selectedRecords; _isVisible = _selectedEdiCustomerOrders.Any(x => x.Posted == 0); _text = selectedRecords.Count > 1 ? "Księguj zaznaczone" : "Księguj bieżący"; } private async Task FilterChanged(ChangeEventArgs obj) { _filter = obj.Checked; await LoadData(); _grid?.Refresh(); } private async Task LoadData() { _ediCustomerOrders = await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List(); if (_filter == false) { _ediCustomerOrders = _ediCustomerOrders.Where(x => x.Posted == 0).ToList(); } _ediCustomerOrders = _ediCustomerOrders.OrderByDescending(x => x.CreateDate).ToList(); StateHasChanged(); } }