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);
            }
        }