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))