async void ValidateAddress(System.Object sender, System.EventArgs e) { try { if (addressToValidate != null) { if (!String.IsNullOrEmpty(StreetEntry.Text)) { var client = new AddressValidation(); var addressStatus = client.ValidateAddressString(addressToValidate.Street, addressToValidate.Unit, addressToValidate.City, addressToValidate.State, addressToValidate.ZipCode); if (addressStatus != null) { var location = await client.ConvertAddressToGeoCoordiantes(addressToValidate.Street, addressToValidate.City, addressToValidate.State); if (location != null) { addressToValidate.Latitude = location.Latitude; addressToValidate.Longitude = location.Longitude; if (addressStatus == "Y" || addressStatus == "S") { await DisplayAlert("Great!", "Your address is valid. Please continue with your application", "OK"); //account["street"] = addressToValidate.Street; StreetEntry.Text = addressToValidate.Street; UnitEntry.Text = addressToValidate.Unit; CityEntry.Text = addressToValidate.City; StateEntry.Text = addressToValidate.State; ZipcodeEntry.Text = addressToValidate.ZipCode; account["street"] = addressToValidate.Street; account["latitude"] = addressToValidate.Latitude.ToString(); account["longitude"] = addressToValidate.Longitude.ToString(); addressToValidate.isValidated = true; addressValidationClient.SetPinOnMap(MapView, new Xamarin.Essentials.Location(addressToValidate.Latitude, addressToValidate.Longitude), addressToValidate.Street); } else if (addressStatus == "D") { var unit1 = await DisplayPromptAsync("It looks like your address is missing its unit number", "Please enter your address unit number in the space below", "OK", "Cancel"); if (unit1 != null) { await DisplayAlert("Great!", "Your address is valid. Please continue with your application", "OK"); addressToValidate.Unit = unit1; StreetEntry.Text = addressToValidate.Street; UnitEntry.Text = addressToValidate.Unit; CityEntry.Text = addressToValidate.City; StateEntry.Text = addressToValidate.State; ZipcodeEntry.Text = addressToValidate.ZipCode; account["street"] = addressToValidate.Street; account["latitude"] = addressToValidate.Latitude.ToString(); account["longitude"] = addressToValidate.Longitude.ToString(); addressToValidate.isValidated = true; addressValidationClient.SetPinOnMap(MapView, new Xamarin.Essentials.Location(addressToValidate.Latitude, addressToValidate.Longitude), addressToValidate.Street); } return; } } else { await DisplayAlert("Oops", "We weren't able to find your address", "OK"); } } else { await DisplayAlert("Oops", "The address you enter is not valid. Please enter another address to continue.", "OK"); } } } else { await DisplayAlert("Oops", "Please select an address to validate", "OK"); } } catch (Exception errorFindLocalProduceBaseOnLocation) { Debug.WriteLine(errorFindLocalProduceBaseOnLocation.Message); } }