public CartoPlaceInfo FindLocalityPlace(CartoPlaceInfo place) { if (String.IsNullOrWhiteSpace(place.Locality)) { return(null); } var places = Places.Where(x => x.Country.CountryID == place.Country.CountryID && String.Compare(x.Name, place.Locality, true) == 0); if (place.Region == null) { return(places.FirstOrDefault()); } else { var p = places.Where(x => x.Region != null && x.Region.RegionID == place.Region.RegionID).FirstOrDefault(); if (p != null) { return(p); } else { return(places.FirstOrDefault()); } } }
public bool IsStart(CartoPlaceInfo place) { foreach (var track in Preview.TopoTracks) { if (track.StartPlace?.Key == place.Key) { return(true); } } return(false); }
/// <summary> /// Geocodes the given location from google /// </summary> public List <CartoPlaceInfo> LookupLocations(IGeoLatLon point) { var response = _google.RequestLocations(point); var list = new List <CartoPlaceInfo>(); foreach (var result in response.Results) { var place = FindByGooglePlaceID(result.PlaceID); if (place == null) { place = new CartoPlaceInfo(result); } list.Add(place); } return(list); }
/// <summary> /// Google places search with name and optional country /// </summary> public List <CartoPlaceInfo> LookupPlaces(string name, string country = "") { var text = $"{name} {country}".Trim(); // TODO: HACK: make this acually use the correct country filter mechanism var response = _google.RequestPlaces(text); var list = new List <CartoPlaceInfo>(); foreach (var placeID in response.Results) { var place = FindByGooglePlaceID(placeID); if (place == null) { var result = _google.RequestPlace(placeID).Result; place = new CartoPlaceInfo(result); } list.Add(place); } return(list); }
/// <summary> /// Loads cached places from local storage /// </summary> public void Init(string uri) { lock (_cache) { if (_cached) { return; } _uri = uri; var reader = new XlsFileReader(uri); var file = reader.ReadFile(); var sheet = new CartoPlaceSheetData(file.Sheets[0]); foreach (var row in sheet.Rows) { var info = new CartoPlaceInfo(row); _cache.Add(info); } _cached = true; _dirty = false; } }
public CartoPlaceFormModel(CartoPlaceInfo place, CartoPlaceData data = null) { Place = place; Data = data ?? place.GetData(); Political = new GeoPolitical(Data); }
// ================================================== // CartoPlaceInfo public static HtmlString GetJson(CartoPlaceInfo place) { return(new HtmlString(place == null ? "{}" : place.ToJson())); }
public bool ContainsPlace(CartoPlaceInfo place) { return(Places.Any(x => x.Key == place.Key)); }
// ================================================== // Helpers private string GetFullTextSearch(CartoPlaceInfo place) { return($"{place.Name} {place.LocalName} {place.DisplayAs} {place.Address}".ToLowerInvariant()); }
public static string GetDeleteUrl(CartoPlaceInfo place) { return($"/place/delete/{place.Key}/"); }
public static string GetUpdateUrl(CartoPlaceInfo place) { return(GetUpdateUrl(place.Key)); }
} // TODO: CARTO: RC1: build display page public static string GetDisplayUrl(CartoPlaceInfo place) { return(GetDisplayUrl(place.Key)); }