Case-independent lookup of Nationality in dictionary (some have lower case..)

This commit is contained in:
Daniel Schick 2022-09-26 08:11:02 +02:00
parent f639241e43
commit d3ded290f5

View File

@ -2265,18 +2265,18 @@ namespace ENI2.Excel
pas.IsDeparture = true; pas.IsDeparture = true;
pas.NotificationSchengen = notificationSchengen; pas.NotificationSchengen = notificationSchengen;
pas.NotificationPAX = notificationPax; pas.NotificationPAX = notificationPax;
pas.PassengerLastName = lastName; pas.PassengerLastName = lastName;
pas.PassengerFirstName = reader.ReadText(pasFirstName); pas.PassengerFirstName = reader.ReadText(pasFirstName);
pas.PassengerGender = reader.ReadGender(pasGender); pas.PassengerGender = reader.ReadGender(pasGender);
pas.PassengerNationality = reader.ReadNationality(pasNationality); pas.PassengerNationality = reader.ReadNationality(pasNationality);
// TODO: Nicht klar ob hier LOCODEs kommen oder nicht // TODO: Nicht klar ob hier LOCODEs kommen oder nicht
pas.PassengerPortOfEmbarkation = reader.ReadTextNoWhitespace(pasEmbarkation); pas.PassengerPortOfEmbarkation = reader.ReadTextNoWhitespace(pasEmbarkation);
pas.PassengerPortOfDisembarkation = reader.ReadTextNoWhitespace(pasDebarkation); pas.PassengerPortOfDisembarkation = reader.ReadTextNoWhitespace(pasDebarkation);
pas.PassengerInTransit = reader.ReadBoolean(pasTransit); pas.PassengerInTransit = reader.ReadBoolean(pasTransit);
pas.PassengerPlaceOfBirth = reader.ReadText(pasPlaceOfBirth); pas.PassengerPlaceOfBirth = reader.ReadText(pasPlaceOfBirth);
pas.PassengerDateOfBirth = reader.ReadBirthDate(pasDateOfBirth); pas.PassengerDateOfBirth = reader.ReadBirthDate(pasDateOfBirth);
pas.PassengerIdentityDocumentType = reader.ReadIdentityDocumentType(pasIdentDocType); pas.PassengerIdentityDocumentType = reader.ReadIdentityDocumentType(pasIdentDocType);
pas.PassengerIdentityDocumentId = reader.ReadText(pasIdentDocId); pas.PassengerIdentityDocumentId = reader.ReadText(pasIdentDocId);
pas.PassengerVisaNumber = reader.ReadText(pasVisaNo); pas.PassengerVisaNumber = reader.ReadText(pasVisaNo);
pas.PassengerIdentityDocumentIssuingState = reader.ReadNationality(pasIssuing); pas.PassengerIdentityDocumentIssuingState = reader.ReadNationality(pasIssuing);
pas.PassengerIdentityDocumentExpiryDate = reader.ReadDate(pasExpiryDate); pas.PassengerIdentityDocumentExpiryDate = reader.ReadDate(pasExpiryDate);
@ -2481,11 +2481,16 @@ namespace ENI2.Excel
public static string ReadNationality(string nationality) public static string ReadNationality(string nationality)
{ {
string result = null; string result = null;
nationality = nationality.Trim();
if(CREW.NationalityDict.ContainsKey(nationality)) if(CREW.NationalityDict.ContainsKey(nationality))
{ {
result = nationality; result = nationality;
} }
else if(CREW.NationalityDict.ContainsKey(nationality.ToUpper()))
{
result = CREW.NationalityDict[nationality.ToUpper()];
}
else if(_countryImportDict.ContainsKey(nationality)) else if(_countryImportDict.ContainsKey(nationality))
{ {
result = _countryImportDict[nationality]; result = _countryImportDict[nationality];