From eafc5f3b81677d51468bc8ab3c50f840cc18c5d0 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Wed, 8 Nov 2023 09:04:04 +0100 Subject: [PATCH] do not send empty VisaNumber fields --- bsmd.dbh/RequestUtil.cs | 6 ++++-- bsmd.hisnord/Request.cs | 46 ++++++++++++++++++++++------------------- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/bsmd.dbh/RequestUtil.cs b/bsmd.dbh/RequestUtil.cs index f33d3ace..1468e9d3 100644 --- a/bsmd.dbh/RequestUtil.cs +++ b/bsmd.dbh/RequestUtil.cs @@ -488,7 +488,8 @@ namespace bsmd.dbh rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentId = crew.CrewMemberIdentityDocumentId; if (crew.CrewMemberIdentityDocumentType.HasValue) rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentType = (IdDocType)crew.CrewMemberIdentityDocumentType.Value; - rootCREW.CrewMember[i].DetailsSchengen.VisaNumber = crew.CrewMemberVisaNumber; + if(!crew.CrewMemberVisaNumber.IsNullOrEmpty()) + rootCREW.CrewMember[i].DetailsSchengen.VisaNumber = crew.CrewMemberVisaNumber; if (crew.CrewMemberIdentityDocumentIssuingState.Trim().Length == 2) rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState; if (crew.CrewMemberIdentityDocumentExpiryDate.HasValue) @@ -531,7 +532,8 @@ namespace bsmd.dbh rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentId = crew.CrewMemberIdentityDocumentId; if (crew.CrewMemberIdentityDocumentType.HasValue) rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentType = (IdDocType)crew.CrewMemberIdentityDocumentType.Value; - rootCREW.CrewMember[i].DetailsSchengen.VisaNumber = crew.CrewMemberVisaNumber; + if(!crew.CrewMemberVisaNumber.IsNullOrEmpty()) + rootCREW.CrewMember[i].DetailsSchengen.VisaNumber = crew.CrewMemberVisaNumber; if (crew.CrewMemberIdentityDocumentIssuingState.Trim().Length == 2) rootCREW.CrewMember[i].DetailsSchengen.IdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState; if (crew.CrewMemberIdentityDocumentExpiryDate.HasValue) diff --git a/bsmd.hisnord/Request.cs b/bsmd.hisnord/Request.cs index ecd622e2..c5839d7e 100644 --- a/bsmd.hisnord/Request.cs +++ b/bsmd.hisnord/Request.cs @@ -1421,7 +1421,8 @@ namespace bsmd.hisnord 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; + if(!pasa.PassengerVisaNumber.IsNullOrEmpty()) + hn_pas.DetailsSchengen.VisaNumber = pasa.PassengerVisaNumber; } hn_pas.FirstName = pasa.PassengerFirstName; @@ -1490,7 +1491,8 @@ namespace bsmd.hisnord hn_pas.DetailsSchengen.InTransit = (pasd.PassengerInTransit ?? false) ? yorntype.Y : yorntype.N; hn_pas.DetailsSchengen.PortOfDisembarkation = pasd.PassengerPortOfDisembarkation; hn_pas.DetailsSchengen.PortOfEmbarkation = pasd.PassengerPortOfEmbarkation; - hn_pas.DetailsSchengen.VisaNumber = pasd.PassengerVisaNumber; + if(!pasd.PassengerVisaNumber.IsNullOrEmpty()) + hn_pas.DetailsSchengen.VisaNumber = pasd.PassengerVisaNumber; } hn_pas.FirstName = pasd.PassengerFirstName; @@ -1533,28 +1535,29 @@ namespace bsmd.hisnord for (int i = 0; i < message.Elements.Count; i++) { crewtypeCrewMember hn_crew = new crewtypeCrewMember(); - CREW crewd = message.Elements[i] as CREW; - hn_crew.CountryOfBirth = crewd.CrewMemberCountryOfBirth; - if (crewd.CrewMemberDateOfBirth.HasValue) - hn_crew.DateOfBirth = crewd.CrewMemberDateOfBirth.Value; + CREW crewa = message.Elements[i] as CREW; + hn_crew.CountryOfBirth = crewa.CrewMemberCountryOfBirth; + if (crewa.CrewMemberDateOfBirth.HasValue) + hn_crew.DateOfBirth = crewa.CrewMemberDateOfBirth.Value; if (acrewa.NotificationSchengen ?? false) { hn_crew.DetailsSchengen = new crewtypeCrewMemberDetailsSchengen(); - if (crewd.CrewMemberIdentityDocumentExpiryDate.HasValue) - hn_crew.DetailsSchengen.IdentityDocumentExpiryDate = crewd.CrewMemberIdentityDocumentExpiryDate.Value; - hn_crew.DetailsSchengen.IdentityDocumentId = crewd.CrewMemberIdentityDocumentId; - hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewd.CrewMemberIdentityDocumentIssuingState; - if (crewd.CrewMemberIdentityDocumentType.HasValue) - hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewd.CrewMemberIdentityDocumentType.Value; - hn_crew.DetailsSchengen.VisaNumber = crewd.CrewMemberVisaNumber; + if (crewa.CrewMemberIdentityDocumentExpiryDate.HasValue) + hn_crew.DetailsSchengen.IdentityDocumentExpiryDate = crewa.CrewMemberIdentityDocumentExpiryDate.Value; + hn_crew.DetailsSchengen.IdentityDocumentId = crewa.CrewMemberIdentityDocumentId; + hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewa.CrewMemberIdentityDocumentIssuingState; + if (crewa.CrewMemberIdentityDocumentType.HasValue) + hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewa.CrewMemberIdentityDocumentType.Value; + if(!crewa.CrewMemberVisaNumber.IsNullOrEmpty()) + hn_crew.DetailsSchengen.VisaNumber = crewa.CrewMemberVisaNumber; } - hn_crew.DutyOnBoard = crewd.CrewMemberDuty; - hn_crew.FirstName = crewd.CrewMemberFirstName; - if (crewd.CrewMemberGender.HasValue) - hn_crew.Gender = GenderTypeFromEnumByte(crewd.CrewMemberGender); - hn_crew.LastName = crewd.CrewMemberLastName; - hn_crew.Nationality = crewd.CrewMemberNationality; - hn_crew.PlaceOfBirth = crewd.CrewMemberPlaceOfBirth; + hn_crew.DutyOnBoard = crewa.CrewMemberDuty; + hn_crew.FirstName = crewa.CrewMemberFirstName; + if (crewa.CrewMemberGender.HasValue) + hn_crew.Gender = GenderTypeFromEnumByte(crewa.CrewMemberGender); + hn_crew.LastName = crewa.CrewMemberLastName; + hn_crew.Nationality = crewa.CrewMemberNationality; + hn_crew.PlaceOfBirth = crewa.CrewMemberPlaceOfBirth; hn_crewtype.CrewMember[i] = hn_crew; } @@ -1602,7 +1605,8 @@ namespace bsmd.hisnord hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewd.CrewMemberIdentityDocumentIssuingState; if (crewd.CrewMemberIdentityDocumentType.HasValue) hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewd.CrewMemberIdentityDocumentType.Value; - hn_crew.DetailsSchengen.VisaNumber = crewd.CrewMemberVisaNumber; + if(!crewd.CrewMemberVisaNumber.IsNullOrEmpty()) + hn_crew.DetailsSchengen.VisaNumber = crewd.CrewMemberVisaNumber; } hn_crew.DutyOnBoard = crewd.CrewMemberDuty; hn_crew.FirstName = crewd.CrewMemberFirstName;