diff --git a/OrdersManagement/Components/Pages/EdiCustomerOrder.razor b/OrdersManagement/Components/Pages/EdiCustomerOrder.razor index 8045a93..37ddce4 100644 --- a/OrdersManagement/Components/Pages/EdiCustomerOrder.razor +++ b/OrdersManagement/Components/Pages/EdiCustomerOrder.razor @@ -40,23 +40,23 @@
- - - Id:@context.Id
- CoEdiOrder:@context.CoEdiOrder
- CoRowPointer:@context.CoRowPointer
- CoCoNum:@context.CoCoNum
- CoType:@context.CoType
- CoTakenBy:@context.CoTakenBy
- EdiCoCoNum:@context.EdiCoCoNum
- OrdersCount:@context.OrdersCount
- OrderFound:@context.OrderFound
- CreatedDate:@context.CreatedDate.ToString("yyyy-MM-dd HH:mm:ss")
- FoundNumbers:@context.FoundNumbers
- ScheduleOrderId:@context.ScheduleOrderId
-
-
-
+@* *@ +@* *@ +@* Id:@context.Id
*@ +@* CoEdiOrder:@context.CoEdiOrder
*@ +@* CoRowPointer:@context.CoRowPointer
*@ +@* CoCoNum:@context.CoCoNum
*@ +@* CoType:@context.CoType
*@ +@* CoTakenBy:@context.CoTakenBy
*@ +@* EdiCoCoNum:@context.EdiCoCoNum
*@ +@* OrdersCount:@context.OrdersCount
*@ +@* OrderFound:@context.OrderFound
*@ +@* CreatedDate:@context.CreatedDate.ToString("yyyy-MM-dd HH:mm:ss")
*@ +@* FoundNumbers:@context.FoundNumbers
*@ +@* ScheduleOrderId:@context.ScheduleOrderId
*@ +@*
*@ +@*
*@ +@*
*@

Indeksy

diff --git a/OrdersManagement/Components/Pages/EdiCustomerOrders.razor b/OrdersManagement/Components/Pages/EdiCustomerOrders.razor index d2b3087..3a5867b 100644 --- a/OrdersManagement/Components/Pages/EdiCustomerOrders.razor +++ b/OrdersManagement/Components/Pages/EdiCustomerOrders.razor @@ -21,7 +21,7 @@ {
- +
} @@ -37,6 +37,7 @@ PageSize="20" AllowSelection="true" AllowRowClick="true" + SelectionMode="GridSelectionMode.Multiple" OnRowDoubleClick="OnRowDoubleClick" SelectedItemsChanged="SelectedItemsChanged"> @@ -72,9 +73,22 @@ - + - @_modalDto.Body + @if (_responses.Any(x => x.Status == 1)) + { + foreach (ResponseDto 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 (ResponseDto 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

+ } + }
@@ -83,19 +97,22 @@ @code { Grid? _grid; - private IEnumerable? _ediCustomerOrders; - - private EdiCustomerOrderDto? _selectedEdiCustomerOrder; + private List _ediCustomerOrders = new(); + private List _selectedEdiCustomerOrders = new(); + + private List _responses = new(); private Modal _modal = default!; private ModalDto _modalDto = new(null, null); private bool _isVisible; - private bool _filter; + private bool _filter = true; + + private string _text = "Księguj bieżący"; private async Task> EdiCustomerOrdersDataProvider(GridDataProviderRequest request) { - _ediCustomerOrders = await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List(); + _ediCustomerOrders = (await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List()).ToList(); _ediCustomerOrders = _ediCustomerOrders.OrderByDescending(x => x.CreateDate).ToList(); if (_filter) @@ -103,6 +120,8 @@ _ediCustomerOrders = _ediCustomerOrders.Where(x => x.Posted == 0).ToList(); } + _filter = true; + StateHasChanged(); return await Task.FromResult(request.ApplyTo(_ediCustomerOrders)); @@ -115,30 +134,39 @@ NavigationManager.NavigateTo($"/EdiCustomerOrder/{customerOrderId}"); } - private async void SendOrderToSyteLine() + private async Task SendOrderToSyteLine() { - if (_selectedEdiCustomerOrder == null) return; + if (!_selectedEdiCustomerOrders.Any()) return false; - ResponseDto response = await EdiCustomerOrderService.SendOrderToSyteline(_selectedEdiCustomerOrder.CustomerOrderNumber); + _responses = new List(); - if (response.Status == 1) + foreach (EdiCustomerOrderDto selectedEdiCustomerOrder in _selectedEdiCustomerOrders) { - _modalDto = new ModalDto("Wysłano", $"Zamówienie EDI {_selectedEdiCustomerOrder.CustomerOrderNumber} zostało poprawnie zaksięgowane w Zamówieniach klienta pod numerem '{_selectedEdiCustomerOrder.EdiCustomerOrderTranslates.FirstOrDefault()?.CoCoNum}'"); - await _modal.ShowAsync(); + ResponseDto response = await EdiCustomerOrderService.SendOrderToSyteline(selectedEdiCustomerOrder.CustomerOrderNumber); + + if (response.Status == 1) + { + response.ExternalIdentifier = selectedEdiCustomerOrder.EdiCustomerOrderTranslates.FirstOrDefault()?.CoCoNum; + } - _grid?.RefreshDataAsync(); - } - else - { - _modalDto = new ModalDto("Błąd", $"Zamówienie EDI {_selectedEdiCustomerOrder.CustomerOrderNumber} nie zostało poprawnie zaksięgowane w Zamówieniach klienta.{Environment.NewLine}Lista błędów:{Environment.NewLine}{response.Message}"); - await _modal.ShowAsync(); + _responses.Add(response); } + + await _modal.ShowAsync(); + _grid?.RefreshDataAsync(); + + return true; } private void SelectedItemsChanged(HashSet obj) { - _selectedEdiCustomerOrder = obj.FirstOrDefault() ?? null; - _isVisible = _selectedEdiCustomerOrder?.Posted == 0; + _isVisible = false; + + if (!obj.Any()) return; + + _selectedEdiCustomerOrders = obj.ToList(); + _isVisible = _selectedEdiCustomerOrders.Any(x => x.Posted == 0); + _text = obj.Count > 1 ? "Księguj zaznaczone" : "Księguj bieżący"; } private async Task OnHideModalClick() diff --git a/OrdersManagement/Components/Pages/ScheduleOrderDetails.razor b/OrdersManagement/Components/Pages/ScheduleOrderDetails.razor index 6b6f9a7..dbaba3a 100644 --- a/OrdersManagement/Components/Pages/ScheduleOrderDetails.razor +++ b/OrdersManagement/Components/Pages/ScheduleOrderDetails.razor @@ -4,101 +4,98 @@
-
-

Indeksy:

- Indeksy: + + + + @context.ID + + + @context.Sc_productCode + + + @context.Sh_productCode + + + @context.Price + + + +
+ @if (_isVisible) + { +
+

Dodatkowe informacje:

+ + + @context.Label:@context.Value + + +
+ } + + @if (_isVisible) + { +
+

Harmonogramy:

+ + SelectedItemsChanged="SelectedDetailDetailChanged"> + - + @context.ID - - @context.Sc_productCode + + @context.DateFrom - - @context.Sh_productCode + + @context.DateTo - - @context.Price + + @context.Qty - @if (_isVisible) - { -
-

Dodatkowe informacje:

- - - @context.Label:@context.Value - - -
- }
-
+ @if (_isVisibleDetailDetail) + {
- @if (_isVisible) - { -
-

Harmonogramy:

- - - - - @context.ID - - - @context.DateFrom - - - @context.DateTo - - - @context.Qty - - - -
- @if (_isVisibleDetailDetail) - { -
-

Dodatkowe informacje:

- - - @context.Label:@context.Value - - -
- } - } +

Dodatkowe informacje:

+ + + @context.Label:@context.Value + +
-
-
+ } + }
@code { - [Parameter] - public int ScheduleOrderId { get; set; } + [Parameter] public int ScheduleOrderId { get; set; } private bool _isVisible; private bool _isVisibleDetailDetail; diff --git a/OrdersManagement/Dtos/ResponseDto.cs b/OrdersManagement/Dtos/ResponseDto.cs index 94e4aab..5c6c0a4 100644 --- a/OrdersManagement/Dtos/ResponseDto.cs +++ b/OrdersManagement/Dtos/ResponseDto.cs @@ -5,12 +5,14 @@ public int Status { get; set; } public string Identifier { get; set; } public string? Message { get; set; } + public string? ExternalIdentifier { get; set; } - public ResponseDto(int status, string identifier, string? message) + public ResponseDto(int status, string identifier, string? message, string? externalIdentifier) { Status = status; Identifier = identifier; Message = message; + ExternalIdentifier = externalIdentifier; } } } diff --git a/OrdersManagement/Services/EdiCustomerOrderService.cs b/OrdersManagement/Services/EdiCustomerOrderService.cs index c104485..95212b8 100644 --- a/OrdersManagement/Services/EdiCustomerOrderService.cs +++ b/OrdersManagement/Services/EdiCustomerOrderService.cs @@ -23,7 +23,7 @@ namespace OrdersManagement.Services if (responseMessage.IsSuccessStatusCode) { - return new ResponseDto(1, customerOrderNumber, null); + return new ResponseDto(1, customerOrderNumber, null, null); } string? errorMessage = null; @@ -35,7 +35,7 @@ namespace OrdersManagement.Services errorMessage = string.Join("\r\n", logs.Select(x => x.ErrMsg)); } - return new ResponseDto(0, customerOrderNumber, errorMessage); + return new ResponseDto(0, customerOrderNumber, errorMessage, null); } } }