HIS-Nord file creation for PASA and CREWA added / changed from PAS and CREW
This commit is contained in:
parent
805ef43551
commit
a6831bc816
@ -1373,56 +1373,69 @@ namespace bsmd.hisnord
|
||||
|
||||
#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.Reset)
|
||||
{
|
||||
items1ChoiceType.Add(Items1ChoiceType.RESET_PAS);
|
||||
items1ChoiceType.Add(Items1ChoiceType.RESET_PASA);
|
||||
items1.Add(ytype.Y);
|
||||
}
|
||||
else
|
||||
{
|
||||
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_pas.Passenger = new passenger[message.Elements.Count];
|
||||
hn_pastype.NotificationPAX = (apasa.NotificationPAX ?? false) ? yorntype.Y : yorntype.N;
|
||||
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++)
|
||||
{
|
||||
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();
|
||||
if (pas.PassengerDateOfBirth.HasValue)
|
||||
hn_pas.Passenger[i].PassengerDateOfBirth = pas.PassengerDateOfBirth.Value;
|
||||
hn_pas.Passenger[i].PassengerFirstName = pas.PassengerFirstName;
|
||||
if (pas.PassengerGender.HasValue)
|
||||
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)
|
||||
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;
|
||||
hn_pas.CountryOfBirth = pasa.PassengerCountryOfBirth;
|
||||
if (pasa.PassengerDateOfBirth.HasValue)
|
||||
hn_pas.DateOfBirth = pasa.PassengerDateOfBirth.Value;
|
||||
|
||||
if (pasa.NotificationPAX ?? false)
|
||||
{
|
||||
hn_pas.DetailsPAX = new pastypePassengerDetailsPAX();
|
||||
hn_pas.DetailsPAX.EmergencyCare = pasa.EmergencyCare;
|
||||
hn_pas.DetailsPAX.EmergencyContactNumber = pasa.EmergencyContactNumber;
|
||||
}
|
||||
|
||||
items1ChoiceType.Add(Items1ChoiceType.PAS);
|
||||
items1.Add(hn_pas);
|
||||
if (pasa.NotificationSchengen ?? false)
|
||||
{
|
||||
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
|
||||
|
||||
#region CREW
|
||||
|
||||
// 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
|
||||
#region CREWA
|
||||
|
||||
if (message.MessageNotificationClass == Message.NotificationClass.CREW)
|
||||
{
|
||||
if (message.Reset)
|
||||
{
|
||||
items1ChoiceType.Add(Items1ChoiceType.RESET_CREW);
|
||||
items1ChoiceType.Add(Items1ChoiceType.RESET_CREWA);
|
||||
items1.Add(ytype.Y);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (message.Elements.Count > 0)
|
||||
{
|
||||
global::crew hn_crew = new crew();
|
||||
hn_crew.CrewMember = new crewmember[message.Elements.Count];
|
||||
global::crewtype hn_crewtype = new crewtype();
|
||||
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++)
|
||||
{
|
||||
CREW crew = message.Elements[i] as CREW;
|
||||
hn_crew.CrewMember[i] = new crewmember();
|
||||
if (crew.CrewMemberDateOfBirth.HasValue)
|
||||
hn_crew.CrewMember[i].CrewMemberDateOfBirth = crew.CrewMemberDateOfBirth.Value;
|
||||
hn_crew.CrewMember[i].CrewMemberDuty = crew.CrewMemberDuty;
|
||||
hn_crew.CrewMember[i].CrewMemberFirstName = crew.CrewMemberFirstName;
|
||||
if (crew.CrewMemberGender.HasValue)
|
||||
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)
|
||||
hn_crew.CrewMember[i].CrewMemberIdentityDocumentType = (documenttype)crew.CrewMemberIdentityDocumentType.Value;
|
||||
hn_crew.CrewMember[i].CrewMemberLastName = crew.CrewMemberLastName;
|
||||
hn_crew.CrewMember[i].CrewMemberNationality = crew.CrewMemberNationality;
|
||||
hn_crew.CrewMember[i].CrewMemberPlaceOfBirth = crew.CrewMemberPlaceOfBirth;
|
||||
hn_crew.CrewMember[i].CrewMemberVisaNumber = crew.CrewMemberVisaNumber.IsNullOrEmpty() ? "-" : crew.CrewMemberVisaNumber;
|
||||
if (crew.CrewMemberIdentityDocumentExpiryDate.HasValue)
|
||||
hn_crew.CrewMember[i].CrewmemberIdentityDocumentExpiryDate = crew.CrewMemberIdentityDocumentExpiryDate.Value;
|
||||
if(crew.CrewMemberIdentityDocumentIssuingState?.Trim().Length == 2)
|
||||
hn_crew.CrewMember[i].CrewMemberIdentityDocumentIssuingState = crew.CrewMemberIdentityDocumentIssuingState;
|
||||
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;
|
||||
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;
|
||||
}
|
||||
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_crewtype.CrewMember[i] = hn_crew;
|
||||
}
|
||||
|
||||
items1ChoiceType.Add(Items1ChoiceType.CREW);
|
||||
items1.Add(hn_crew);
|
||||
items1ChoiceType.Add(Items1ChoiceType.CREWA);
|
||||
items1.Add(hn_crewtype);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user