From cbda6d656379e68aaf2399819061b45c833c5f10 Mon Sep 17 00:00:00 2001 From: Elias Fierke Date: Wed, 23 Sep 2026 17:30:09 +0200 Subject: [PATCH] [fix:] label pdf is not sorted by used_plz --- Tasks/PdfBuilder.cs | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Tasks/PdfBuilder.cs b/Tasks/PdfBuilder.cs index 1179e55..6940f70 100644 --- a/Tasks/PdfBuilder.cs +++ b/Tasks/PdfBuilder.cs @@ -121,17 +121,18 @@ public class PdfBuilder } // national addresses - for (var i = 0; i < addressSet.KasPersons.Count; i++) + foreach (var person in addressSet.KasPersons + .Where(person => person.IsGermany()) + .OrderBy(person => person.used_plz)) { string senderLineID = senderLine; - if (!addressSet.KasPersons[i].IsGermany()) continue; - var addr = AddressCreator.CreateFinalMarkdownString(addressSet.KasPersons[i].id); + var addr = AddressCreator.CreateFinalMarkdownString(person.id); if (string.IsNullOrWhiteSpace(addr)) continue; if (pvst) senderLineID += $"**PvSt, DP AG, Entgelt bezahlt, ZKZ {Settings._instance.pdfExport.rsZKZ}**\n"; - if (addressSet.KasPersons[i].refsid != null || addressSet.KasPersons[i].refsid != 0) - senderLineID += $"ID: {addressSet.KasPersons[i].refsid}\n"; + if (person.refsid != null || person.refsid != 0) + senderLineID += $"ID: {person.refsid}\n"; else senderLineID += "\n"; if (!string.IsNullOrEmpty(senderLineID)) @@ -141,17 +142,19 @@ public class PdfBuilder } // international addresses - for (var i = 0; i < addressSet.KasPersons.Count; i++) + foreach (var person in addressSet.KasPersons + .Where(person => !person.IsGermany()) + .OrderBy(person => person.land) + .ThenBy(person => person.used_plz)) { string senderLineID = senderLine; - if (addressSet.KasPersons[i].IsGermany()) continue; - var addr = AddressCreator.CreateFinalMarkdownString(addressSet.KasPersons[i].id); + var addr = AddressCreator.CreateFinalMarkdownString(person.id); if (string.IsNullOrWhiteSpace(addr)) continue; if (pvst) senderLineID += $"**PvSt, DP AG, Entgelt bezahlt, ZKZ {Settings._instance.pdfExport.rsZKZ}**\n"; - if (addressSet.KasPersons[i].refsid != null || addressSet.KasPersons[i].refsid != 0) - senderLineID += $"ID: {addressSet.KasPersons[i].refsid}\n"; + if (person.refsid != null || person.refsid != 0) + senderLineID += $"ID: {person.refsid}\n"; else senderLineID += "\n"; if (!string.IsNullOrEmpty(senderLineID))