/// <summary> /// Enregistre ou met a jour un evenement /// </summary> public void Save() { if (this.Id == Guid.Empty) { this.Metier.Id = Guid.NewGuid(); this.Metier.ImageEvenement.Id = Guid.NewGuid(); this.Metier.AdresseEvenement.Id = Guid.NewGuid(); using (ParkingContext context = new ParkingContext()) { ServiceAdresse.Insert(this.Metier.AdresseEvenement, context); ServiceImage.Insert(this.Metier.ImageEvenement, context); string query = "https://maps.googleapis.com/maps/api/geocode/json?address=" + this.Metier.AdresseEvenement.ToString() + "&key=AIzaSyCyoqbqJVd_MtZRT_0DmYmznxxJWRfMjQI"; using (WebClient wc = new WebClient()) { var json = wc.DownloadString(query); RootObjectGoogle item = JsonConvert.DeserializeObject <RootObjectGoogle>(json); if (item != null) { this.Metier.AdresseEvenement.lat = item.results.FirstOrDefault().geometry.location.lat; this.Metier.AdresseEvenement.lng = item.results.FirstOrDefault().geometry.location.lng; } } ServiceEvenement.Insert(this.Metier, context); context.SaveChanges(); } } else { ServiceEvenement.Update(this.Metier); } }
public static void Insert(Adresse e, ParkingContext context) { using (WebClient wc = new WebClient()) { try { string querypark = "https://maps.googleapis.com/maps/api/geocode/json?address=" + e.ToString() + "&key=AIzaSyCyoqbqJVd_MtZRT_0DmYmznxxJWRfMjQI"; var json2 = wc.DownloadString(querypark); RootObjectGoogle item = JsonConvert.DeserializeObject <RootObjectGoogle>(json2); if (item.results.Count != 0) { e.lat = item.results.FirstOrDefault().geometry.location.lat; e.lng = item.results.FirstOrDefault().geometry.location.lng; } } catch (Exception) { context.Adresses.Add(e); //meme si il y a une erreur on ajoute l'adresse sans latitude ni longitude throw; } context.Adresses.Add(e); } }