public static void GetLocationData(string locationStr, ScheduleDialog dialog) { var client = new RestClient("https://us1.locationiq.org"); ProxyWrapper.ApplyProxyToClient(client); var request = new RestRequest("v1/search.php"); request.AddParameter("key", apiKey); request.AddParameter("q", locationStr); request.AddParameter("format", "json"); request.AddParameter("limit", "1"); client.ExecuteAsync <List <LocationIQData> >(request, response => { if (response.IsSuccessful) { JsonConfig.settings.location = locationStr; HandleLocationSuccess(response.Data[0], dialog); } else { MessageDialog.ShowWarning(_("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")); } }); }
private static void OnLocationDialogClosed(object sender, FormClosedEventArgs e) { if (e.CloseReason == CloseReason.UserClosing) { locationDialog = null; LaunchSequence.NextStep(); } }
public static void ChangeLocation() { if (locationDialog == null) { locationDialog = new ScheduleDialog(); locationDialog.FormClosed += OnLocationDialogClosed; locationDialog.Show(); } locationDialog.BringToFront(); }
private static void HandleLocationSuccess(LocationIQData data, ScheduleDialog 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.HandleScheduleChange())); } }
private static void OnLocationDialogClosed(object sender, EventArgs e) { locationDialog = null; LaunchSequence.NextStep(); }