private static List <Geoname> CreateGeonameList(string xml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); if (doc.DocumentElement == null) { return(new List <Geoname>()); } XmlNodeList root = doc.GetElementsByTagName("geonames"); if (root.Count == 0) { return(new List <Geoname>()); } XmlElement geonames = (XmlElement)root[0]; List <Geoname> names = new List <Geoname>(); foreach (XmlElement element in geonames.GetElementsByTagName("geoname")) { Geoname n = new Geoname(element); names.Add(n); } return(names); }
/// <summary> /// /// </summary> /// <param name="placeName"></param> /// <param name="inGeonames"></param> /// <returns></returns> public Geoname GetBestFittingPlaceName(string placeName, List <Geoname> inGeonames) { Geoname retour = null; if (inGeonames != null) { if (String.IsNullOrEmpty(placeName)) { if (inGeonames != null) { retour = inGeonames.FirstOrDefault(); } } else if (inGeonames != null) { int bestLevensteinScore = 1000; String cleanPlaceName = RemoveWeirdCharToCompare(placeName); foreach (Geoname iterator in inGeonames) { if (iterator.name != null) { int levensteinScore = LevenshteinDistance.Compute(cleanPlaceName, RemoveWeirdCharToCompare(iterator.name)); if (levensteinScore < bestLevensteinScore) { bestLevensteinScore = levensteinScore; retour = iterator; } } } } } return(retour); }
public void Test_GeonameRestResponseAnalyser_GetBestFittingPlaceName_Return_Null_When_Called_With_Listgeoname_Null() { GeonameRestResponseAnalyser analyser = new GeonameRestResponseAnalyser(); Geoname gname = analyser.GetBestFittingPlaceName("TEST", null); Assert.IsNull(gname); }
public DetailViewModel() { Score = new int(); CountryOptions = new List <Geoname>(); SelectedGeoname = new Geoname(); Task.Run(async() => await LoadData()); TouchedCommand = new Command(async() => await touched()); LabelTouchedCommand = new Command(async() => await labeltouched()); }
/// <summary> /// /// </summary> public WebCamsTravelRootObject GetBestWebCam(string country, string capital) { WebCamsTravelRootObject retour = new WebCamsTravelRootObject(); var geonameClient = new RestClient(_connectGeoNamesURL); //geonameClient.Authenticator = new HttpBasicAuthenticator(_webcamsTravelLogin, _webcamsTravelPwd); GeonameRestRequestGenerator geonameGenerator = new GeonameRestRequestGenerator(); IRestResponse <HRGeoNameRootObject> geonameResponse = geonameClient.Execute <HRGeoNameRootObject>(geonameGenerator.Generate(capital, country, "jean.ecard")); GeonameRestResponseAnalyser analyser = new GeonameRestResponseAnalyser();//!Structure Map //!Tester null Geoname pCode = analyser.GetBestFittingPlaceName(capital, geonameResponse.Data.geonames); double parisLat = 0; double parisLon = 0; if (pCode != null) { Double.TryParse(pCode.lat.Replace('.', ','), out parisLat); Double.TryParse(pCode.lng.Replace('.', ','), out parisLon); } //WEBCAMSTRAVEL var webCamClient = new RestClient(_connectWebcamsTravelsURL); webCamClient.Authenticator = new HttpBasicAuthenticator(_webcamsTravelLogin, _webcamsTravelPwd); WebCamsTravelRestRequestGenerator webcamGenerator = new WebCamsTravelRestRequestGenerator(); var webCamRequest = webcamGenerator.Generate(parisLat, parisLon, country); // execute the request IRestResponse <WebCamsTravelRootObject> webcamsTravelResponse = webCamClient.Execute <WebCamsTravelRootObject>(webCamRequest); if (webcamsTravelResponse != null && webcamsTravelResponse.Data != null && webcamsTravelResponse.Data.result != null) { WebCamsTravelRestResponseAnalyser webcamsTravelAnalyser = new WebCamsTravelRestResponseAnalyser(); Webcam bestWebCam = webcamsTravelAnalyser.GetBestFittingWebCam(webcamsTravelResponse.Data.result.webcams); if (bestWebCam != null && bestWebCam.player != null) { retour.status = "OK"; retour.result = new Result(); retour.result.limit = 0; retour.result.offset = 0; retour.result.total = 1; retour.result.webcams = new List <Webcam>(); retour.result.webcams.Add(bestWebCam); } else { retour.status = "OK"; retour.result = new Result(); retour.result.limit = 0; retour.result.offset = 0; retour.result.total = 0; } } return(retour); }
public void Test_GeonameRestResponseAnalyser_GetBestFittingPlaceName_Return_Null_When_Called_With_Placename_Null() { GeonameRestResponseAnalyser analyser = new GeonameRestResponseAnalyser(); List <Geoname> list = new List <Geoname>(); list.Add(new Geoname()); Geoname gname = analyser.GetBestFittingPlaceName(null, list); Assert.IsNull(gname); }
public SimpleGeoName(Geoname geoname) { Id = geoname.Id; Name = geoname.Name; FCode = geoname.Fcode; CountryCode = geoname.CountryCode; Children = new List <SimpleGeoName>(); LocalNameES = geoname.AlternateNames().Where(x => x.Language == "es").LastOrDefault().Name; LocalNameEN = geoname.AlternateNames().Where(x => x.Language == "en").LastOrDefault().Name; }
public SimpleGeoName(Geoname geoname) { Id = geoname.Id; Name = geoname.Name; FCode = geoname.Fcode; CountryCode = geoname.CountryCode; Children = new List<SimpleGeoName>(); LocalNameES = geoname.AlternateNames().Where(x => x.Language == "es").LastOrDefault().Name; LocalNameEN = geoname.AlternateNames().Where(x => x.Language == "en").LastOrDefault().Name; }
public async Task <List <Geoname> > Execute() { //Fake async await Task.Delay(10); List <Geoname> retour = new List <Geoname>(); if (_country == "FRA" && _capital == "Paris") { Geoname geon = new Geoname(); geon.name = "PARIS"; geon.lat = "10.0"; geon.lng = "10.0"; retour.Add(geon); } return(retour); }
public void Test_GeonameRestResponseAnalyser_GetBestFittingPlaceName_Return_Paris14_When_Called_With_Placename_ListOfParis() { GeonameRestResponseAnalyser analyser = new GeonameRestResponseAnalyser(); List <Geoname> list = new List <Geoname>(); Geoname gname = new Geoname(); gname.name = "Roule sur Pars"; list.Add(gname); gname = new Geoname(); gname.name = "Paris la vilette"; list.Add(gname); gname = new Geoname(); gname.name = "Paris - 14"; list.Add(gname); Geoname gnameresult = analyser.GetBestFittingPlaceName("Paris", list); Assert.IsNotNull(gnameresult); Assert.AreEqual("Paris - 14", gnameresult.name); }
public override async void Init(object initData) { base.Init(initData); PageModelHelper = new PageModelHelper(); PageModelHelper.Visualizar = false; PageModelHelper.ActivityRunning = true; PageModelHelper.CuidadorExibicao = false; Cidade = new Geoname(); Familiar = new Familiar(); var x = new HttpClient(); var b = await x.GetStringAsync("http://www.geonames.org/childrenJSON?geonameId=3469034"); var o = JsonConvert.DeserializeObject <RootObject>(b); ListaEstados = new ObservableCollection <Geoname>(o.geonames); PageModelHelper.Visualizar = true; PageModelHelper.ActivityRunning = false; Familiar = initData as Familiar; }
public ActionResult Weather([Bind(Include = "Name, Country, County")] Geoname geoname, string screenName, int locationID) { try { if (ModelState.IsValid) { var model = new HomeIndexViewModel(); var service = new WeatherService(); model.Weathers = service.FindWeathers(geoname, screenName, locationID); return(View("Weather", model)); } } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.Message); } return(View("Error")); }
/// <summary> /// Get the Best approching placeName in the world /// </summary> /// <param name="placeName">Place name to search</param> /// <param name="inGeonames">A List of GeoName object</param> /// <returns>The most approching GeoName null if can not be found</returns> public Geoname GetBestFittingPlaceName(string placeName, List <Geoname> inGeonames) { Geoname retour = null; if (!String.IsNullOrEmpty(placeName) && inGeonames != null && inGeonames.Count > 0) { int bestLevensteinScore = INITIAL_BEST_LEVENSTEIN_SCORE; String cleanPlaceName = RemoveWeirdCharToCompare(placeName); foreach (Geoname iterator in inGeonames) { if (iterator.name != null) { int levensteinScore = LevenshteinDistance.Compute(cleanPlaceName, RemoveWeirdCharToCompare(iterator.name)); if (levensteinScore < bestLevensteinScore) { bestLevensteinScore = levensteinScore; retour = iterator; } } } } return(retour); }
private void GetChildren(SimpleGeoName sg, Geoname g) { Path.Push(sg); CurrentLevel--; try { foreach (var n in g.Children(GeoNamesDataStyle.Full)) { ItemCount++; UpdateCounterUI(); var nsg = new SimpleGeoName(n); sg.Children.Add(nsg); if (CurrentLevel >= 0) { GetChildren(nsg, n); } } } catch {} CurrentLevel++; Path.Pop(); }
/// <summary> /// /// </summary> /// <returns></returns> public async Task <List <Geoname> > Execute() { if (_clientProvider != null && _restRequestGenerator != null && _restResponseAnalyser != null) { List <Geoname> retour = new List <Geoname>(); _clientProvider.ConnectionURL = _connectGeoNamesURL; var geonameClient = _clientProvider.CreateRestClient(); var request = _restRequestGenerator.Generate(Capital, Country, _geonameKey); IRestResponse response = await geonameClient.ExecuteGetTaskAsync(request); HRGeoNameRootObject result = JsonConvert.DeserializeObject <HRGeoNameRootObject>(response.Content); if (result != null && _restResponseAnalyser != null) { Geoname fittingGeoname = _restResponseAnalyser.GetBestFittingPlaceName(Capital, result.geonames); retour.Add(fittingGeoname); } return(retour); } else { throw new Exception(HRCountriesServicesSolution.Constant.GEONAME.REST_CLIENT_NOT_INITIALIZED); } }
public override void AddGeoname(Geoname geoname) { _context.Geonames.Add(geoname); }
public override void RemoveGeoname(int id) { Geoname geoname = _context.Geonames.Find(id); _context.Geonames.Remove(geoname); }
public static IList <Geoname> Children(this Geoname geoname, string SelectedUsername = "******") { return(GeoNamesOrgWebservice.Children(geoname, SelectedUsername)); }
public static IList <Geoname> Children(this Geoname geoname) { return(GeoNamesOrgWebservice.Children(geoname, "ffmcoder")); }
public static IList <Geoname> Children(Geoname geoname, string username) { return(Children(geoname.GeonameId, username, GeoNamesDataStyle.Full)); }
private void GetChildren(SimpleGeoName sg, Geoname g) { Path.Push(sg); CurrentLevel--; try { foreach (var n in g.Children(GeoNamesDataStyle.Full)) { ItemCount++; UpdateCounterUI(); var nsg = new SimpleGeoName(n); sg.Children.Add(nsg); if (CurrentLevel >= 0) { GetChildren(nsg, n); } } } catch{} CurrentLevel++; Path.Pop(); }
public override async void Init(object initData) { base.Init(initData); Cuidador = new Cuidador(); SelectedTipoCuidador = new TipoCuidador(); ValidacaoCuidador = new ValidacaoCuidador(); oHorario = new PageModelHelper { ActivityRunning = true, Visualizar = false, VisualizarTermino = false, NovoCuidador = false, NovoCadastro = false, CuidadorExibicao = true }; var x = initData as Tuple <Cuidador, App>; if (x != null) { Cuidador = x.Item1; if (x.Item2 != null) { app = x.Item2; } } oHorario.NovoCuidador = Cuidador?.Id == null; oHorario.NovoCadastro = Cuidador?.Id == null; oHorario.CuidadorExibicao = Cuidador?.Id != null; if (oHorario.NovoCuidador) { oHorario.BoasVindas = "Tirar foto"; NovoCuidador = true; ConTelefone = new ConTelefone { Id = Guid.NewGuid().ToString() }; ConCelular = new ConCelular { Id = Guid.NewGuid().ToString() }; ConEmail = new ConEmail { Id = Guid.NewGuid().ToString() }; ContatoEmergencia = new ContatoEmergencia { Id = Guid.NewGuid().ToString() }; } else { NovoCuidador = false; oHorario.BoasVindas = "Alterar foto"; } Cidade = new Geoname(); //Cuidador = initData as Cuidador; await GetData(); if (Cuidador?.CuiFoto != null) { CuidadorFoto = ImageSource.FromStream(() => new MemoryStream(Cuidador.CuiFoto)); } var n = new HttpClient(); var b = await n.GetStringAsync("http://www.geonames.org/childrenJSON?geonameId=3469034"); var o = JsonConvert.DeserializeObject <RootObject>(b); ListaEstados = new ObservableCollection <Geoname>(o.geonames); oHorario.ActivityRunning = false; oHorario.Visualizar = true; }
public abstract void Add(Geoname geoname);
public abstract void Delete(Geoname geoname);
public abstract void Update(Geoname geoname);
public abstract void Delete(Geoname geoname);
public abstract void Add(Geoname geoname);
public override void UpdateGeoname(Geoname geoname) { _context.Entry(geoname).State = EntityState.Modified; }
public abstract void Update(Geoname geoname);