From 90af9c6f2829265a17f0c40d14a6b703ea0b01fb Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Tue, 29 Mar 2022 14:10:36 +0200 Subject: [PATCH] =?UTF-8?q?fix=20f=C3=BCr=20gender?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsmd.hisnord/Request.cs | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/bsmd.hisnord/Request.cs b/bsmd.hisnord/Request.cs index eba850fc..38973dc6 100644 --- a/bsmd.hisnord/Request.cs +++ b/bsmd.hisnord/Request.cs @@ -1391,7 +1391,7 @@ namespace bsmd.hisnord hn_pas.Passenger[i].PassengerDateOfBirth = pas.PassengerDateOfBirth.Value; hn_pas.Passenger[i].PassengerFirstName = pas.PassengerFirstName; if (pas.PassengerGender.HasValue) - hn_pas.Passenger[i].PassengerGender = (GenderType)pas.PassengerGender.Value; + hn_pas.Passenger[i].PassengerGender = GenderTypeFromEnumByte(pas.PassengerGender); hn_pas.Passenger[i].PassengerGenderSpecified = pas.PassengerGender.HasValue; hn_pas.Passenger[i].PassengerIdentityDocumentId = pas.PassengerIdentityDocumentId; if (pas.PassengerIdentityDocumentType.HasValue) @@ -1473,7 +1473,7 @@ namespace bsmd.hisnord hn_pas.FirstName = pasd.PassengerFirstName; if (pasd.PassengerGender.HasValue) - hn_pas.Gender = (GenderType)pasd.PassengerGender.Value; + hn_pas.Gender = GenderTypeFromEnumByte(pasd.PassengerGender); hn_pas.LastName = pasd.PassengerLastName; hn_pas.Nationality = pasd.PassengerNationality; hn_pas.PlaceOfBirth = pasd.PassengerPlaceOfBirth; @@ -1516,7 +1516,7 @@ namespace bsmd.hisnord hn_crew.CrewMember[i].CrewMemberDuty = crew.CrewMemberDuty; hn_crew.CrewMember[i].CrewMemberFirstName = crew.CrewMemberFirstName; if (crew.CrewMemberGender.HasValue) - hn_crew.CrewMember[i].CrewMemberGender = (GenderType)crew.CrewMemberGender.Value; + hn_crew.CrewMember[i].CrewMemberGender = GenderTypeFromEnumByte(crew.CrewMemberGender); hn_crew.CrewMember[i].CrewMemberGenderSpecified = crew.CrewMemberGender.HasValue; hn_crew.CrewMember[i].CrewMemberIdentityDocumentId = crew.CrewMemberIdentityDocumentId; if (crew.CrewMemberIdentityDocumentType.HasValue) @@ -1579,7 +1579,7 @@ namespace bsmd.hisnord hn_crew.DutyOnBoard = crewd.CrewMemberDuty; hn_crew.FirstName = crewd.CrewMemberFirstName; if(crewd.CrewMemberGender.HasValue) - hn_crew.Gender = (GenderType)crewd.CrewMemberGender.Value; + hn_crew.Gender = GenderTypeFromEnumByte(crewd.CrewMemberGender); hn_crew.LastName = crewd.CrewMemberLastName; hn_crew.Nationality = crewd.CrewMemberNationality; hn_crew.PlaceOfBirth = crewd.CrewMemberPlaceOfBirth; @@ -1802,7 +1802,7 @@ namespace bsmd.hisnord return retval; } - #region helper class to fill HAZ positions + #region helper func for HAZ positions private static void SetHAZPositions(dglist hn_dgList, HAZ haz) { @@ -2031,5 +2031,24 @@ namespace bsmd.hisnord #endregion + #region helper func set gender + + private static GenderType GenderTypeFromEnumByte(byte? val) + { + if(val.HasValue) + { + switch(val.Value) + { + case 1: return GenderType.Item1; + case 2: return GenderType.Item2; + case 9: return GenderType.Item9; + default: return GenderType.Item0; + } + } + return GenderType.Item0; + } + + #endregion + } }