From 4bbf3cac1d6eeda5bebee53fc1896feae6e36845 Mon Sep 17 00:00:00 2001 From: Elias Fierke Date: Mon, 1 Sep 2025 12:26:03 +0200 Subject: [PATCH] [chore:] added pplz check --- AddressCheck.cs | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/AddressCheck.cs b/AddressCheck.cs index c85b192..341e8a8 100644 --- a/AddressCheck.cs +++ b/AddressCheck.cs @@ -11,6 +11,8 @@ public class AddressCheck { PlzTooShort, PlzTooLong, + PPlzTooShort, + PPlzTooLong, // empty, FullAddressTooLong, @@ -50,7 +52,7 @@ public class AddressCheck var address_component_count = 2; // cause anrede and name are first - // Prüfung + // PLZ-Prüfung if ((person.plz < 10000 && string.IsNullOrWhiteSpace(person.land)) || (person.plz < 10000 && person.land == "GER") || (person.plz < 10000 && person.land == "DE")) @@ -66,6 +68,23 @@ public class AddressCheck errors.Add(ErrorTypes.PlzTooLong); } + // PPLZ-Prüfung + if ((person.pplz < 10000 && string.IsNullOrWhiteSpace(person.land)) || + (person.pplz < 10000 && person.land == "GER") || + (person.pplz < 10000 && person.land == "DE")) + { + hasFaults = true; + errors.Add(ErrorTypes.PPlzTooShort); + } + else if ((person.pplz > 99999 && string.IsNullOrWhiteSpace(person.land)) || + (person.pplz > 99999 && person.land == "GER") || + (person.pplz > 99999 && person.land == "DE")) + { + hasFaults = true; + errors.Add(ErrorTypes.PPlzTooLong); + } + + // Ort-Prüfung if (string.IsNullOrWhiteSpace(person.ort)) { hasFaults = true; @@ -76,6 +95,7 @@ public class AddressCheck address_component_count++; } + // Street-Number var street = person.strasse.ToCharArray(); var intcount = 0; foreach (var c in street) @@ -90,19 +110,21 @@ public class AddressCheck warnings.Add(WarningTypes.NoStreetNumber); } - + // Last-Name if (string.IsNullOrWhiteSpace(person.name)) { hasFaults = true; warnings.Add(WarningTypes.NoLastName); } + // First-Name if (string.IsNullOrWhiteSpace(person.vorname)) { hasFaults = true; warnings.Add(WarningTypes.NoFirstName); } + // Street-Check if (string.IsNullOrWhiteSpace(person.strasse)) { hasFaults = true; @@ -113,6 +135,7 @@ public class AddressCheck address_component_count++; } + // Address-Component-Count if (!string.IsNullOrWhiteSpace(person.strasse2)) address_component_count++; if (!string.IsNullOrWhiteSpace(person.land)) address_component_count++; if (!string.IsNullOrWhiteSpace(person.name1)) address_component_count++; @@ -125,7 +148,7 @@ public class AddressCheck if (!string.IsNullOrWhiteSpace(person.funktionad)) address_component_count++; if (!string.IsNullOrWhiteSpace(person.abteilung)) address_component_count++; - + // Double-Refsid or DoubleAddresses foreach (var person2 in addresses.KasPersons) { if (addresses.KasPersons.IndexOf(person) == addresses.KasPersons.IndexOf(person2)) continue;