private async void okButton_Click(object sender, EventArgs e) { okButton.Enabled = false; if (!locationCheckBox.Checked) { LocationIQData data = LocationIQService.GetLocationData(inputBox.Text); if (data != null) { JsonConfig.settings.location = inputBox.Text; JsonConfig.settings.latitude = data.lat; JsonConfig.settings.longitude = data.lon; SolarData solarData = SunriseSunsetService.GetSolarData(DateTime.Today); DialogResult result = MessageBox.Show(string.Format(_("Is this location " + "correct?\n\n{0}\n{1}"), data.display_name, SunriseSunsetService.GetSunriseSunsetString(solarData)), _("Question"), MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { AppContext.wpEngine.RunScheduler(); this.Close(); } } else { MessageBox.Show(_("The location you entered was invalid, or you are not " + "connected to the Internet. Check your Internet connection and try a " + "different location. You can use a complete address or just the name of " + "your city/region."), _("Error"), MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { bool locationUpdated = await UwpLocation.UpdateGeoposition(); if (locationUpdated) { AppContext.wpEngine.RunScheduler(); this.Close(); } else { MessageBox.Show(_("Failed to get location from Windows location service."), _("Error"), MessageBoxButtons.OK, MessageBoxIcon.Warning); } } okButton.Enabled = true; }
private static void HandleLocationSuccess(LocationIQData data, LocationDialog dialog) { JsonConfig.settings.latitude = data.lat; JsonConfig.settings.longitude = data.lon; SolarData solarData = SunriseSunsetService.GetSolarData(DateTime.Today); DialogResult result = MessageDialog.ShowQuestion(string.Format(_("Is this location " + "correct?\n\n{0}\n{1}"), data.display_name, SunriseSunsetService.GetSunriseSunsetString(solarData)), _("Question"), true); if (result == DialogResult.Yes) { dialog.Invoke(new Action(() => dialog.HandleLocationChange())); } }