@page "/Warehouse/PackList/{WzHeader:guid}" @using Syncfusion.Blazor.Cards @using Syncfusion.Blazor.Grids @using SytelineSaAppEfDataModel.Dtos @using Syncfusion.Blazor.Navigations @using Syncfusion.Blazor.Popups @using Syncfusion.Blazor.Inputs @inject WarehouseService WarehouseService

Packing List

@if (_isValid) {

Packing List został wygenerowany i wysłany!

} else if(string.IsNullOrWhiteSpace(EmailAddresses)) {

Błąd: Proszę wprowadzić przynajmniej jeden ADRES EMAIL do wysyłki raportu!

} else if (!_isValid) {

Błąd: Nie Wszystkie linie mają wypełniony NUMER PALETY.
Packing List nie zostanie wygenerowany!

}
FA Krosno Manager © @(DateTime.Now.Year)
@code { [Parameter] public Guid WzHeader { get; set; } private SfGrid _grid; private IEnumerable _wzRowsMeyle { get; set; } = new List(); private WzHeaderDto _wzHeader; private bool _isValid; private bool Visibility { get; set; } 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; } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { _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(); } private async Task OnBatchSave(BeforeBatchSaveArgs obj) { var changes = obj.BatchChanges; var changedRecords = changes.ChangedRecords; if (!changedRecords.Any()) return; await WarehouseService.UpdateWzRowsMeyleAsync(changedRecords); _wzRowsMeyle = await WarehouseService.GetWzRowsByWzHeaderId(WzHeader); StateHasChanged(); await _grid.Refresh(); } private async Task ExportXls() { int count = _wzRowsMeyle.Count(x => x.PalletNumber == null); _isValid = count == 0; _isValid = _isValid && !string.IsNullOrWhiteSpace(EmailAddresses); if (_isValid) { await WarehouseService.AddEmailsToWzHeaderAsync(WzHeader, EmailAddresses); await WarehouseService.GenerateXlsForMeyleAsync(WzHeader); } 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}: "; } } }