public GuestEdit(List <guestDetails> guestDetailsList, guestDetails Object) { //Passing values value on page load to fields and pickers InitializeComponent(); //Setting limits for datetime. DateTime date = new DateTime(1900, 1, 1); DateOfBirth.MaximumDate = DateTime.Today; DateOfBirth.MinimumDate = date; //setting guest details retrieved from guestifo page guestdetails = guestDetailsList; guestCodeFromSearch = Object.guestCode; Visitperhotel = Object.noOfVisitsHotel; Totalvisit = Object.noOfVisits; RevenueTotal = Object.revenueTotal; RevenueRoom = Object.revenueRoom; RevenueFnb = Object.reveneuFB; RevenueOther = Object.revenueOther; //countryFromSearch = Object.country; if (Object.passportIdNumber == "") { hideUntilSearched.IsVisible = false; viewUntilSearched.IsVisible = true; } else { hideUntilSearched.IsVisible = true; viewUntilSearched.IsVisible = false; } pageLoading(); guestDetailsAvailableOnLoad((Object.guestNumber).ToString(), Object.identificationMethod, Object.passportIdNumber, Object.salutation, Object.guestFirstName, Object.guestLastName, Object.gender, Object.email, Object.contactNumber, Object.houseNumber, Object.street, Object.city, Object.country, Object.nationality, Object.language, Object.guestCode, Object.dateOfBirth, Object.dateOfExpiry); //Getting results after passport successfully scanned MessagingCenter.Subscribe <Messages.BlinkIDResults>(this, Messages.BlinkIDResultsMessage, async(sender) => { pageLoading(); try { //Values from passport foreach (var result in sender.Results) { //Seperating values from array result.TryGetValue("SecondaryId", out fname); result.TryGetValue("PrimaryId", out lname); result.TryGetValue("Nationality", out nationality); result.TryGetValue("Sex", out gender); result.TryGetValue("DocumentNumber", out PassportNumber); result.TryGetValue("DateOfExpiry", out dateOfExpiry); result.TryGetValue("DateOfBirth", out dateOfBirthPass); PassportNumber = Regex.Replace(PassportNumber, "[^A-Za-z0-9 _]", ""); //List of identification methods from dictionary var nameToAlpha2FromAlpha3 = CountryDictionary.listAlpha3To(); //Getting Key Value from Dictoinary by passing the THREE Letter code nationality = nameToAlpha2FromAlpha3.FirstOrDefault(x => x.Key == nationality).Value; //string guestNumberPassport = guestNumber.Text; } new APILogger().Logger($"PP Scan Result : FName {fname},LName {lname},Nationality {nationality},Sex {gender},DocumentNumber {PassportNumber},DateOfExpiry {dateOfExpiry},DateOfBirth {dateOfBirthPass}"); await existingGuestDetailsFromDatabses(2, PassportNumber); Device.BeginInvokeOnMainThread(() => { GuestFisrtName.Text = fname; GuestLastName.Text = lname; guestIdentificationDetailsPicker("2"); guestNationalityDetailsPicker(nationality); guestContryDetailsPicker(nationality); guestLanguageDetailsPicker("E"); PassportExpiry.Date = FormatChanges.PassScanDateFormat(dateOfExpiry); guestGenderDetailsPicker(serviceDataValidation.guestEditGenderValidation(gender)); DateOfBirth.Date = FormatChanges.PassScanDateFormat(dateOfBirthPass); stopPageLoading(); }); } catch (Exception) { Device.BeginInvokeOnMainThread(() => { stopPageLoading(); guestEntryDetails(guestNumber.Text, PassportNumber, fname, lname, "", "", "", "", ""); guestIdentificationDetailsPicker("2"); guestNationalityDetailsPicker(nationality); guestContryDetailsPicker(nationality); guestLanguageDetailsPicker("E"); guestSalutationPicker(""); guestGenderDetailsPicker(serviceDataValidation.guestEditGenderValidation(gender)); PassportExpiry.Date = FormatChanges.PassScanDateFormat(dateOfExpiry); DateOfBirth.Date = FormatChanges.PassScanDateFormat(dateOfBirthPass); Visitperhotel = "00"; Totalvisit = "00"; RevenueTotal = "0.00"; RevenueRoom = "0.00"; RevenueFnb = "0.00"; RevenueOther = "0.00"; stopPageLoading(); DisplayAlert(Constants._headerMessage, Constants._noDetails, Constants._buttonOkay); }); } //MessagingCenter.Unsubscribe<Messages.BlinkIDResults>(this, Messages.BlinkIDResultsMessage); }); }
//Guest Selected async void SelectedGuest(object sender, ItemTappedEventArgs e) { GuestListView.SelectedItem = Color.Transparent; //use the color of your background of the listView guestDetails guestDetailsObject = (guestDetails)e.Item; await Navigation.PushAsync(new GuestEdit(guestdetails, guestDetailsObject)); }