diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs index d6ee6d5d..8c3bd618 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs @@ -498,7 +498,7 @@ namespace ENI2.DetailViewControls { if(((IExcelDataReader) reader).FieldCount < 10) { - throw new InvalidDataException("Sheet must have 10 Columns of data"); + throw new InvalidDataException("Sheet must have at least 10 Columns of data"); } CREW crew = new CREW(); if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue; @@ -508,14 +508,16 @@ namespace ENI2.DetailViewControls if (!reader.IsDBNull(3)) crew.CrewMemberNationality = reader.GetString(3).Substring(0, 2).ToUpper(); if (!reader.IsDBNull(4)) crew.CrewMemberDuty = reader.GetString(4); if (!reader.IsDBNull(5)) crew.CrewMemberPlaceOfBirth = reader.GetString(5); - if (!reader.IsDBNull(6)) - { - crew.CrewMemberDateOfBirth = reader.GetDateTime(6); - } + if (!reader.IsDBNull(6)) crew.CrewMemberDateOfBirth = reader.GetDateTime(6); if (!reader.IsDBNull(7)) crew.CrewMemberIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(7)); if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentId = this.getValueAsString(reader, 8); if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = this.getValueAsString(reader, 9); + if(((IExcelDataReader) reader).FieldCount > 11) { + if (!reader.IsDBNull(10)) crew.CrewMemberIdentityDocumentIssuingState = reader.GetString(10).Substring(0, 2).ToUpper(); + if (!reader.IsDBNull(11)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(11); + } + crew.MessageHeader = this._crewMessage; crew.IsDirty = true; crew.Identifier = CREW.GetNewIdentifier(this._crewMessage.Elements); @@ -572,7 +574,7 @@ namespace ENI2.DetailViewControls { if (((IExcelDataReader)reader).FieldCount < 11) { - throw new InvalidDataException("Sheet must have 11 Columns of data"); + throw new InvalidDataException("Sheet must have at least 11 Columns of data"); } PAS pas = new PAS(); @@ -581,22 +583,28 @@ namespace ENI2.DetailViewControls if (!reader.IsDBNull(1)) pas.PassengerFirstName = reader.GetValue(1).ToString(); if (!reader.IsDBNull(2)) pas.PassengerGender = GlobalStructures.ParseGender(reader.GetString(2)); if (!reader.IsDBNull(3)) pas.PassengerNationality = reader.GetString(3).Substring(0, 2).ToUpper(); + if (!reader.IsDBNull(4)) pas.PassengerPortOfEmbarkation = reader.GetString(4); if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfEmbarkation) == null) pas.PassengerPortOfEmbarkation = null; + if (!reader.IsDBNull(5)) pas.PassengerPortOfDisembarkation = reader.GetString(5); if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfDisembarkation) == null) pas.PassengerPortOfDisembarkation = null; + if (!reader.IsDBNull(6)) pas.PassengerInTransit = GlobalStructures.ReadBoolean(reader.GetString(6)); if (!reader.IsDBNull(7)) pas.PassengerPlaceOfBirth = reader.GetString(7); - if (!reader.IsDBNull(8)) - { - pas.PassengerDateOfBirth = reader.GetDateTime(8); - } + if (!reader.IsDBNull(8)) pas.PassengerDateOfBirth = reader.GetDateTime(8); if (!reader.IsDBNull(9)) pas.PassengerIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(9)); if (!reader.IsDBNull(10)) pas.PassengerIdentityDocumentId = this.getValueAsString(reader, 10); if (!reader.IsDBNull(11)) pas.PassengerVisaNumber = this.getValueAsString(reader, 11); + if (((IExcelDataReader)reader).FieldCount > 12) + { + if (!reader.IsDBNull(12)) pas.PassengerIdentityDocumentIssuingState = reader.GetString(12).Substring(0, 2).ToUpper(); + if (!reader.IsDBNull(13)) pas.PassengerIdentityDocumentExpiryDate = reader.GetDateTime(13); + } + pas.MessageHeader = this._pasMessage; pas.IsDirty = true; pas.Identifier = PAS.GetNewIdentifier(this._pasMessage.Elements); diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index f8762c5a..8136867d 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs index 35ff737d..21b363ad 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs @@ -2,6 +2,6 @@ [assembly: AssemblyCompany("schick Informatik")] [assembly: AssemblyProduct("BSMD NSW interface")] -[assembly: AssemblyInformationalVersion("6.0.4")] +[assembly: AssemblyInformationalVersion("6.0.5")] [assembly: AssemblyCopyright("Copyright © 2014-2020 schick Informatik")] [assembly: AssemblyTrademark("")] \ No newline at end of file diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs index 604926ef..78b0b776 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs @@ -1,4 +1,4 @@ using System.Reflection; -[assembly: AssemblyVersion("6.0.4.*")] +[assembly: AssemblyVersion("6.0.5.*")]