/// <summary>
 /// Selects the person by search text.
 /// </summary>
 /// <param name="personsParty">The persons party.</param>
 /// <param name="searchText">The search text.</param>
 /// <param name="searchType">Type of the search.</param>
 /// <param name="visitorSearchType">Type of the visitor search.</param>
 /// <returns>Instance of PersonsParty</returns>
 internal static PersonsParty SelectPersonBySearchText(PersonsParty personsParty, string searchText, SearchType searchType, VisitorSearchType visitorSearchType)
 {
     if (visitorSearchType != VisitorSearchType.None)
     {
         AssignSelectedPerson(personsParty, personsParty.RetrievePersons().FirstOrDefault(), null);
     }
     else if (searchType == SearchType.LastName)
     {
         AssignSelectedPerson(personsParty, RetrievePersonByName(personsParty.RetrievePersons(), searchText).FirstOrDefault(), null);
     }
     else if (searchType == SearchType.Stateroom)
     {
         AssignSelectedPerson(personsParty, personsParty.RetrievePersons().FirstOrDefault(), null);
     }
     else if (searchType == SearchType.Reservation)
     {
         AssignSelectedPerson(personsParty, RetrievePersonByReservationNumber(personsParty.RetrievePersons(), searchText).FirstOrDefault(), null);
     }
     else if (searchType == SearchType.PassportNumber)
     {
         AssignSelectedPerson(personsParty, personsParty.RetrievePersons().FirstOrDefault(), null);
     }
     else if (searchType == SearchType.EmployeeNumber)
     {
         AssignSelectedPerson(personsParty, personsParty.RetrievePersons().FirstOrDefault(), null);
     }
     else if (searchType == SearchType.BarcodeScanning || searchType == SearchType.MagneticStripe || searchType == SearchType.RFID)
     {
         AssignSelectedPerson(personsParty, personsParty.RetrievePersons().FirstOrDefault(), null);
     }
     
     return personsParty;
 }
 /// <summary>
 /// Function to select person by person identity.
 /// </summary>
 /// <param name="personsParty">PersonsParty information</param>
 /// <param name="personIdentity">Person identity information</param>
 /// <returns>Instance of PersonsParty</returns>
 internal static PersonsParty SelectPersonByPersonIdentity(PersonsParty personsParty, PersonIdentity personIdentity)
 {
     AssignSelectedPerson(personsParty, RetrievePersonByPersonIdentity(personsParty.RetrievePersons(), personIdentity).FirstOrDefault(), null);
     return personsParty;
 }
 /// <summary>
 /// Function to select first person in the party.
 /// </summary>
 /// <param name="personsParty">PersonsParty information</param>        
 /// <returns>Instance of PersonsParty</returns>
 internal static PersonsParty SelectFirstPerson(PersonsParty personsParty)
 {
     AssignSelectedPerson(personsParty, personsParty.RetrievePersons().FirstOrDefault(), null);
     return personsParty;
 }