/// <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);
     }
 }