Files
BeWoPlaner/Dakota/Models/Segmente/SegmentUNH.cs

76 lines
3.1 KiB
C#

using Dakota.Models.Daten;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dakota.Models.Segmente
{
/// <summary>
/// Kopf-Segment einer Nachricht; es dient dazu, eine Nachricht zu
/// eröffnen, zu identifizieren und zu beschreiben.Eine Nachricht
/// besteht aus einer definierten Folge von Segmenten, die einmal
/// oder mehrfach vorkommen können oder nur bei bestimmten
/// Geschäftsvorfällen erforderlich sind
/// </summary>
internal class SegmentUNH : Segment
{
/// <summary>
/// Genutzt werden die ersten 5 Stellen;
/// einzutragen ist die fortlaufende
/// Nummer der UNH-Segmente zwischen UNB und UNZ mit führenden
/// Nullen,
/// z.B. 00001 für 1. UNH
/// </summary>
public DatenelementFiller Nachrichtenreferenznummer { get; private set; }
/// <summary>
/// Bei Nachricht SLGA ist einzutragen:
/// SLGA:18:0:0
/// Bei Nachricht SLLA ist einzutragen:
/// SLLA:18:0:0
/// </summary>
public Datenelementgruppe Nachrichtenerkennung { get; private set; }
/// <summary>
/// Genutzt werden die ersten 4 Stellen;
/// einzutragen sind: SLGA oder SLLA
/// </summary>
public Datenelement NachrichtenTypKennung { get; private set; }
/// <summary>
/// Genutzt werden die ersten 2 Stellen;
/// einzutragen ist die Nummer der
/// benutzten Version des Nachrichtentypes lt.Abschnitt 5.5 dieser
/// Anlage; d.h.Version 18.
/// </summary>
public Datenelement Verionsnummer { get; private set; }
/// <summary>
/// Genutzt wird die erste Stelle;
/// Inhalt = 0 („Null“ muss angegeben
/// werden).
/// </summary>
public Datenelement FreigabeNrDesTypes { get; private set; }
/// <summary>
/// Genutzt wird die erste Stelle;
/// Inhalt = 0 („Null“ muss angegeben
/// werden).
/// </summary>
public Datenelement VerwaltendeOrganisation { get; private set; }
public SegmentUNH()
{
Nachrichtenreferenznummer = new DatenelementFiller("Nachrichtenreferenznummer", 0, 14, 5);
Nachrichtenerkennung = new Datenelementgruppe("Nachrichtenerkennung", 4);
NachrichtenTypKennung = Nachrichtenerkennung.Datenelemente[0] = new Datenelement("NachrichtenTypKennung", 0, 6, Feldart.Muss);
Verionsnummer = Nachrichtenerkennung.Datenelemente[1] = new Datenelement("Verionsnummer", 0, 3, Feldart.Muss);
FreigabeNrDesTypes = Nachrichtenerkennung.Datenelemente[2] = new Datenelement("FreigabeNrDesTypes", 0, 3, Feldart.Muss);
VerwaltendeOrganisation = Nachrichtenerkennung.Datenelemente[3] = new Datenelement("VerwaltendeOrganisation", 0, 2, Feldart.Muss);
}
public override string GetHead() => "UNH";
public override List<Dateneinheit> GetBody()
=> new List<Dateneinheit> { Nachrichtenreferenznummer, Nachrichtenerkennung};
}
}