Table of Contents

Class MovementSequenceNumber

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

Server-lose Kernlogik zur Ermittlung der nächsten freien SequenceNumber eines DIWASS-Bewegungsdokuments aus den bereits vergebenen Transportpapiernummern einer Notifizierung.

public static class MovementSequenceNumber
Inheritance
MovementSequenceNumber
Inherited Members

Remarks

Die SequenceNumber ist die laufende Nummer der Verbringung innerhalb einer Notifizierung; zusammen mit der NotificationId bildet sie die MovementId. Zwei Formate derselben fachlichen Sequenz sind im Umlauf und werden hier beide geparst:

  • ZEDAL-Transportpapiernummer (Index-Feld doc.sequence_number): <NotificationId>.<sequenz>, z.B. DE0126013235i.00002 — 5-stellig, ohne MOV-Suffix.
  • DIWASS-MovementId: <NotificationId>.<sequenz>MOV, z.B. DE0126005197i.000001MOV — 6-stellig mit MOV-Suffix.

Dieser Helper trifft keine Aussage darüber, woher die Liste der vergebenen Nummern stammt — er rechnet nur. Der Bezug einer Nummer läuft über GetNextMovementSequenceNumber(string, ZedalCallContext).

Methods

NextFrom(IEnumerable<string>)

Ermittelt aus den bereits vergebenen Transportpapiernummern das höchste numerische Sequenz-Suffix und gibt es + 1 zurück. Leere und nicht parsbare Einträge werden ignoriert; ohne jeden Treffer ist das Ergebnis 1.

NextRangeFrom(IEnumerable<string>, int)

Wie NextFrom(IEnumerable<string>), aber für einen Mehrfachabruf: liefert count aufeinanderfolgende freie Nummern ab der nächsten freien.

ParseSuffix(string)

Extrahiert das numerische Sequenz-Suffix aus einer Transportpapiernummer. DE0126013235i.00002 → 2, DE…i.000001MOV → 1. Liefert 0, wenn kein Suffix parsbar ist.