HIS-Nord file creation for PASA and CREWA added / changed from PAS and CREW

This commit is contained in:
Daniel Schick 2023-10-27 13:10:21 +02:00
parent 805ef43551
commit a6831bc816

View File

@ -1373,56 +1373,69 @@ namespace bsmd.hisnord
#endregion #endregion
#region PAS #region PASA
// TODO: Da bei mir PAS = PASA (keine eigene Meldeklasse) kann das hier erst direkt zum Stichtag umgesetzt werden
if (message.MessageNotificationClass == Message.NotificationClass.PAS) if (message.MessageNotificationClass == Message.NotificationClass.PAS)
{ {
if (message.Reset) if (message.Reset)
{ {
items1ChoiceType.Add(Items1ChoiceType.RESET_PAS); items1ChoiceType.Add(Items1ChoiceType.RESET_PASA);
items1.Add(ytype.Y); items1.Add(ytype.Y);
} }
else else
{ {
if (message.Elements.Count > 0) if (message.Elements.Count > 0)
{ {
global::pastype hn_pastype = new pastype();
PAS apasa = message.Elements[0] as PAS;
global::pas hn_pas = new pas(); hn_pastype.NotificationPAX = (apasa.NotificationPAX ?? false) ? yorntype.Y : yorntype.N;
hn_pas.Passenger = new passenger[message.Elements.Count]; hn_pastype.NotificationSchengen = (apasa.NotificationSchengen ?? false) ? yorntype.Y : yorntype.N;
hn_pastype.Passenger = new pastypePassenger[message.Elements.Count];
for (int i = 0; i < message.Elements.Count; i++) for (int i = 0; i < message.Elements.Count; i++)
{ {
PAS pas = message.Elements[i] as PAS; pastypePassenger hn_pas = new pastypePassenger();
PAS pasa = message.Elements[i] as PAS;
hn_pas.Passenger[i] = new passenger(); hn_pas.CountryOfBirth = pasa.PassengerCountryOfBirth;
if (pas.PassengerDateOfBirth.HasValue) if (pasa.PassengerDateOfBirth.HasValue)
hn_pas.Passenger[i].PassengerDateOfBirth = pas.PassengerDateOfBirth.Value; hn_pas.DateOfBirth = pasa.PassengerDateOfBirth.Value;
hn_pas.Passenger[i].PassengerFirstName = pas.PassengerFirstName;
if (pas.PassengerGender.HasValue) if (pasa.NotificationPAX ?? false)
hn_pas.Passenger[i].PassengerGender = GenderTypeFromEnumByte(pas.PassengerGender); {
hn_pas.Passenger[i].PassengerGenderSpecified = pas.PassengerGender.HasValue; hn_pas.DetailsPAX = new pastypePassengerDetailsPAX();
hn_pas.Passenger[i].PassengerIdentityDocumentId = pas.PassengerIdentityDocumentId; hn_pas.DetailsPAX.EmergencyCare = pasa.EmergencyCare;
if (pas.PassengerIdentityDocumentType.HasValue) hn_pas.DetailsPAX.EmergencyContactNumber = pasa.EmergencyContactNumber;
hn_pas.Passenger[i].PassengerIdentityDocumentType = (documenttype)pas.PassengerIdentityDocumentType.Value;
if (pas.PassengerInTransit.HasValue)
hn_pas.Passenger[i].PassengerInTransit = pas.PassengerInTransit.Value ? yorntype.Y : yorntype.N;
hn_pas.Passenger[i].PassengerLastName = pas.PassengerLastName;
hn_pas.Passenger[i].PassengerNationality = pas.PassengerNationality;
hn_pas.Passenger[i].PassengerPlaceOfBirth = pas.PassengerPlaceOfBirth;
hn_pas.Passenger[i].PassengerPortOfDisembarkation = pas.PassengerPortOfDisembarkation;
hn_pas.Passenger[i].PassengerPortOfEmbarkation = pas.PassengerPortOfEmbarkation;
if(!pas.PassengerVisaNumber.IsNullOrEmpty())
hn_pas.Passenger[i].PassengerVisaNumber = pas.PassengerVisaNumber;
hn_pas.Passenger[i].PassengerIdentityDocumentExpiryDateSpecified = pas.PassengerIdentityDocumentExpiryDate.HasValue;
if (pas.PassengerIdentityDocumentExpiryDate.HasValue)
hn_pas.Passenger[i].PassengerIdentityDocumentExpiryDate = pas.PassengerIdentityDocumentExpiryDate.Value;
if(pas.PassengerIdentityDocumentIssuingState?.Trim().Length == 2)
hn_pas.Passenger[i].PassengerIdentityDocumentIssuingState = pas.PassengerIdentityDocumentIssuingState;
} }
items1ChoiceType.Add(Items1ChoiceType.PAS); if (pasa.NotificationSchengen ?? false)
items1.Add(hn_pas); {
hn_pas.DetailsSchengen = new pastypePassengerDetailsSchengen();
if (pasa.PassengerIdentityDocumentExpiryDate.HasValue)
hn_pas.DetailsSchengen.IdentityDocumentExpiryDate = pasa.PassengerIdentityDocumentExpiryDate.Value;
hn_pas.DetailsSchengen.IdentityDocumentId = pasa.PassengerIdentityDocumentId;
hn_pas.DetailsSchengen.IdentityDocumentIssuingState = pasa.PassengerIdentityDocumentIssuingState;
if (pasa.PassengerIdentityDocumentType.HasValue)
hn_pas.DetailsSchengen.IdentityDocumentType = (documenttype)pasa.PassengerIdentityDocumentType.Value;
hn_pas.DetailsSchengen.InTransit = (pasa.PassengerInTransit ?? false) ? yorntype.Y : yorntype.N;
hn_pas.DetailsSchengen.PortOfDisembarkation = pasa.PassengerPortOfDisembarkation;
hn_pas.DetailsSchengen.PortOfEmbarkation = pasa.PassengerPortOfEmbarkation;
hn_pas.DetailsSchengen.VisaNumber = pasa.PassengerVisaNumber;
}
hn_pas.FirstName = pasa.PassengerFirstName;
if (pasa.PassengerGender.HasValue)
hn_pas.Gender = GenderTypeFromEnumByte(pasa.PassengerGender);
hn_pas.LastName = pasa.PassengerLastName;
hn_pas.Nationality = pasa.PassengerNationality;
hn_pas.PlaceOfBirth = pasa.PassengerPlaceOfBirth;
hn_pastype.Passenger[i] = hn_pas;
}
items1ChoiceType.Add(Items1ChoiceType.PASA);
items1.Add(hn_pastype);
} }
} }
} }
@ -1498,50 +1511,56 @@ namespace bsmd.hisnord
#endregion #endregion
#region CREW #region CREWA
// das ist bei mir dasselbe wie CREWA und muss daher zum Zeitpunkt X geändert werden
// ACHTUNG! CREWA ist bei HIS Nord anders aufgebaut als das CREW hier
if (message.MessageNotificationClass == Message.NotificationClass.CREW) if (message.MessageNotificationClass == Message.NotificationClass.CREW)
{ {
if (message.Reset) if (message.Reset)
{ {
items1ChoiceType.Add(Items1ChoiceType.RESET_CREW); items1ChoiceType.Add(Items1ChoiceType.RESET_CREWA);
items1.Add(ytype.Y); items1.Add(ytype.Y);
} }
else else
{ {
if (message.Elements.Count > 0) if (message.Elements.Count > 0)
{ {
global::crew hn_crew = new crew(); global::crewtype hn_crewtype = new crewtype();
hn_crew.CrewMember = new crewmember[message.Elements.Count]; CREW acrewa = message.Elements[0] as CREW;
hn_crewtype.NotificationPAX = (acrewa.NotificationPAX ?? false) ? yorntype.Y : yorntype.N;
hn_crewtype.NotificationSchengen = (acrewa.NotificationSchengen ?? false) ? yorntype.Y : yorntype.N;
hn_crewtype.CrewMember = new crewtypeCrewMember[message.Elements.Count];
for (int i = 0; i < message.Elements.Count; i++) for (int i = 0; i < message.Elements.Count; i++)
{ {
CREW crew = message.Elements[i] as CREW; crewtypeCrewMember hn_crew = new crewtypeCrewMember();
hn_crew.CrewMember[i] = new crewmember(); CREW crewd = message.Elements[i] as CREW;
if (crew.CrewMemberDateOfBirth.HasValue) hn_crew.CountryOfBirth = crewd.CrewMemberCountryOfBirth;
hn_crew.CrewMember[i].CrewMemberDateOfBirth = crew.CrewMemberDateOfBirth.Value; if (crewd.CrewMemberDateOfBirth.HasValue)
hn_crew.CrewMember[i].CrewMemberDuty = crew.CrewMemberDuty; hn_crew.DateOfBirth = crewd.CrewMemberDateOfBirth.Value;
hn_crew.CrewMember[i].CrewMemberFirstName = crew.CrewMemberFirstName; if (acrewa.NotificationSchengen ?? false)
if (crew.CrewMemberGender.HasValue) {
hn_crew.CrewMember[i].CrewMemberGender = GenderTypeFromEnumByte(crew.CrewMemberGender); hn_crew.DetailsSchengen = new crewtypeCrewMemberDetailsSchengen();
hn_crew.CrewMember[i].CrewMemberGenderSpecified = crew.CrewMemberGender.HasValue; if (crewd.CrewMemberIdentityDocumentExpiryDate.HasValue)
hn_crew.CrewMember[i].CrewMemberIdentityDocumentId = crew.CrewMemberIdentityDocumentId; hn_crew.DetailsSchengen.IdentityDocumentExpiryDate = crewd.CrewMemberIdentityDocumentExpiryDate.Value;
if (crew.CrewMemberIdentityDocumentType.HasValue) hn_crew.DetailsSchengen.IdentityDocumentId = crewd.CrewMemberIdentityDocumentId;
hn_crew.CrewMember[i].CrewMemberIdentityDocumentType = (documenttype)crew.CrewMemberIdentityDocumentType.Value; hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewd.CrewMemberIdentityDocumentIssuingState;
hn_crew.CrewMember[i].CrewMemberLastName = crew.CrewMemberLastName; if (crewd.CrewMemberIdentityDocumentType.HasValue)
hn_crew.CrewMember[i].CrewMemberNationality = crew.CrewMemberNationality; hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewd.CrewMemberIdentityDocumentType.Value;
hn_crew.CrewMember[i].CrewMemberPlaceOfBirth = crew.CrewMemberPlaceOfBirth; hn_crew.DetailsSchengen.VisaNumber = crewd.CrewMemberVisaNumber;
hn_crew.CrewMember[i].CrewMemberVisaNumber = crew.CrewMemberVisaNumber.IsNullOrEmpty() ? "-" : crew.CrewMemberVisaNumber; }
if (crew.CrewMemberIdentityDocumentExpiryDate.HasValue) hn_crew.DutyOnBoard = crewd.CrewMemberDuty;
hn_crew.CrewMember[i].CrewmemberIdentityDocumentExpiryDate = crew.CrewMemberIdentityDocumentExpiryDate.Value; hn_crew.FirstName = crewd.CrewMemberFirstName;
if(crew.CrewMemberIdentityDocumentIssuingState?.Trim().Length == 2) if (crewd.CrewMemberGender.HasValue)
hn_crew.CrewMember[i].CrewMemberIdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState; hn_crew.Gender = GenderTypeFromEnumByte(crewd.CrewMemberGender);
hn_crew.LastName = crewd.CrewMemberLastName;
hn_crew.Nationality = crewd.CrewMemberNationality;
hn_crew.PlaceOfBirth = crewd.CrewMemberPlaceOfBirth;
hn_crewtype.CrewMember[i] = hn_crew;
} }
items1ChoiceType.Add(Items1ChoiceType.CREW); items1ChoiceType.Add(Items1ChoiceType.CREWA);
items1.Add(hn_crew); items1.Add(hn_crewtype);
} }
} }
} }