public void ImportAddressButtonClick() { try { string languageFilePath = view.OpenFileDialog( fileExt: "html", title: "Open Alba Language File"); string addressFilePath = view.OpenFileDialog( fileExt: "csv", title: "Open Alba Address CSV File to Upload"); if (string.IsNullOrWhiteSpace(languageFilePath) || string.IsNullOrWhiteSpace(addressFilePath)) { return; } new ImportAddress(AuthenticatedClient(), int.Parse(view.UploadDelayMs)) .Upload(addressFilePath, languageFilePath); } catch (UserException e) { view.ShowMessageBox(e.Message); } }
public Coordinate Geocode(AlbaAddressImport address) { if (client.BasePath == null) { view.ShowMessageBox("You do not have a base path set!"); return(null); } var url = NominatimUrlBuilder.GeocodeAddress(address); var resultString = client.DownloadString(url); // TODO: Need to geocode GeocodedAddress[] result = JsonConvert.DeserializeObject <GeocodedAddress[]>(resultString); if (result.Length == 0) { return(null); } var a = result[0]; double.TryParse(a.lat, out double lat); double.TryParse(a.lon, out double lon); return(new Coordinate { Latitude = lat, Longitude = lon }); }
public Coordinate Geocode(AlbaAddressImport address) { if (client.BasePath == null) { view.ShowMessageBox("You do not have a base path set!"); return(null); } var url = AzureMapsUrlBuilder.GeocodeAddress(address); var resultString = client.DownloadString(url); var result = JsonConvert.DeserializeObject <GeocodeResult>(resultString); if (result.results.Length == 0) { return(null); } var r = result.results[0]; return(new Coordinate { Latitude = r.position.lat, Longitude = r.position.lon }); }
public void Upload() { if (client.BasePath == null) { view.ShowMessageBox("You are not logged on to Alba. Please Logon."); return; } string fileName = view.OpenFileDialog("kml"); if (string.IsNullOrWhiteSpace(fileName)) { return; } var kml = new KmlGateway().Load(fileName); var territories = new KmlToTerritoryConverter() .TerritoryListFrom(kml) .Where(t => t.Border != null && t.Border.Vertices != null && t.Border.Vertices.Count > 0) .ToList(); view.AppendResultText("Uploading " + territories.Count + " territory borders..."); foreach (var territory in territories) { int count = territory.Border.Vertices.Count; var url = RelativeUrlBuilder.RequestToAddNew(territory); var resultString = client.DownloadString(url); view.AppendResultText("Territory: " + territory.Number); view.AppendResultText(count + " vertices where uploaded..." + Environment.NewLine); view.AppendResultText(resultString + Environment.NewLine + Environment.NewLine); Thread.Sleep(delay); } }