diff --git a/OrdersManagement/Components/Pages/WarehousePackList.razor b/OrdersManagement/Components/Pages/WarehousePackList.razor index 56ddcfb..7c0035d 100644 --- a/OrdersManagement/Components/Pages/WarehousePackList.razor +++ b/OrdersManagement/Components/Pages/WarehousePackList.razor @@ -20,6 +20,16 @@ + + + + + + + + + + _grid; private IEnumerable _wzRowsMeyle { get; set; } = new List(); - private WzHeaderDto _wzHeader; + private WzHeaderDto _wzHeader; private bool _isValid; private bool Visibility { get; set; } - - private string EmailAddresses { get; set; } = string.Empty; - + + private string? EmailAddresses { get; set; } = string.Empty; + private string PalletNumber { get; set; } = "0"; + private string ScannedValues { get; set; } = string.Empty; + + private IDictionary ScannedValuesWithItems { get; set; } = new Dictionary(); + + private string LastScannedValue { get; set; } = string.Empty; + private string ScannedValue { get; set; } = string.Empty; + private void HideModal() { Visibility = false; @@ -120,20 +137,22 @@ { _wzHeader = await WarehouseService.GetWzHeaderByIdAsync(WzHeader); _wzRowsMeyle = await WarehouseService.GetWzRowsByWzHeaderId(WzHeader); + + _wzRowsMeyle.ToList().ForEach(x => ScannedValuesWithItems.Add(x.ItemNumber.Replace(" ", ""), null)); EmailAddresses = _wzHeader.EmailAddresses; - + StateHasChanged(); } } - + private async Task SaveChanges() { if (!string.IsNullOrWhiteSpace(EmailAddresses)) { await WarehouseService.AddEmailsToWzHeaderAsync(WzHeader, EmailAddresses); } - + await _grid.EndEditAsync(); } @@ -143,7 +162,7 @@ var changedRecords = changes.ChangedRecords; if (!changedRecords.Any()) return; - + await WarehouseService.UpdateWzRowsMeyleAsync(changedRecords); _wzRowsMeyle = await WarehouseService.GetWzRowsByWzHeaderId(WzHeader); @@ -157,7 +176,7 @@ _isValid = count == 0; _isValid = _isValid && !string.IsNullOrWhiteSpace(EmailAddresses); - + if (_isValid) { await WarehouseService.AddEmailsToWzHeaderAsync(WzHeader, EmailAddresses); @@ -166,4 +185,21 @@ Visibility = true; } + + private void ScanValue(KeyboardEventArgs obj) + { + if (obj.Key != "Enter") return; + + LastScannedValue = ScannedValue.Trim(); + + if (!ScannedValuesWithItems.ContainsKey(ScannedValues.Replace(" ", "").Trim()) && ScannedValuesWithItems.ContainsKey(LastScannedValue.Replace(" ", "").Trim())) + { + ScannedValuesWithItems[LastScannedValue] = ScannedValue.Trim(); + ScannedValues += $"{ScannedValue})\n"; + } + else if(!string.IsNullOrWhiteSpace(ScannedValue)) + { + ScannedValues += $"{ScannedValue}: "; + } + } } \ No newline at end of file