Table of Contents

Class NotificationNumber

Namespace
Zedal.Sdk.Apis.Diwass
Assembly
Zedal.Sdk.dll

Format- und Prefix-Prüfung für DIWASS-Notifizierungsnummern (NotificationID, z.B. DE0126013237i).

public static class NotificationNumber
Inheritance
NotificationNumber
Inherited Members

Remarks

Aufbau der Nummer laut DIWASS-Spezifikation und den vergebenen Nummern im Testbestand: <CA-Code><JJ><Laufnummer>i — z.B. DE01 + 26 + 013237 + i, bzw. im Spec-Sample BE01 + 25 + 000538 + i. Die Nummer wird von DIWASS erzeugt bzw. geprüft (validateAndGenerateNotification, Eingabe ist genau ein caCode); ein abweichender Prefix wird mit INVALID-NOTIFICATION-CA-CODE-PREFIX abgelehnt.

Bewusst neutral: dieser Helper trifft keine Aussage darüber, welche Behörde den CA-Code stellt (zuständige Behörde am Versandort vs. Registrierungsbehörde des Notifizierenden) — er vergleicht nur gegen einen übergebenen Code. Die fachliche Zuordnung ist Gegenstand der DIWASS-Integrationstests.

Zwei Code-Längen: DIWASS führt den Behörden-Code im Directory 4-stellig (dirauthority:Code, z.B. DE49), im Notifizierungsformular steht dagegen ein CompetentAuthorityID, der im Testbestand 5-stellig ist (DE014). Deshalb prüft HasCaCodePrefix(string, string) den Code auf Format (2 Buchstaben + 2–3 Ziffern) und MatchCaCode(string, IEnumerable<string>) nimmt den längsten passenden Kandidaten — ein naiver StartsWith würde beide Codes nicht auseinanderhalten.

Methods

HasCaCodePrefix(string, string)

Prüft, ob notificationId eine wohlgeformte Notifizierungsnummer mit genau caCode als Prefix ist. Vergleich ist ordinal (case-sensitive); ein nicht CA-Code-förmiger caCode liefert false statt einer Exception, damit Prefix-Herkunftsprüfungen keine Teil-Prefixe „treffen".

IsWellFormed(string)

Prüft, ob notificationId dem Format einer DIWASS-Notifizierungsnummer entspricht (ohne Aussage über den CA-Code).

MatchCaCode(string, IEnumerable<string>)

Liefert den CA-Code aus candidateCaCodes, der als Prefix von notificationId passt — bei mehreren Treffern den längsten (DE014 vor DE01). null, wenn keiner passt.