예제 #1
0
        /// <summary>
        /// Met à jour une adresse en base de données
        /// </summary>
        /// <param name="adresse"></param>
        public void Update(Adresse adresse, string user = "")
        {
            _applicationTraceService.create(new ApplicationTrace
            {
                utilisateur = user,
                action      = Parametres.Action.Modification.ToString(),
                description = String.Format("Mise à jour de l'adresse adrs_id = {0}", adresse.id),
            });

            _adresseRepository.Update(adresse);
        }
        public IActionResult Ajout(int Id, string Nom, string Descriptif, string Texte, string ZipCode, float Longitude, float Latitude, int Commune, int Categorie)
        {
            // Création du poi s'il n'existe pas
            PointInteret model = _repository.Single(Id);

            if (model == null)
            {
                model = new PointInteret();
            }

            Adresse adresse = new Adresse();

            // Hydratation des champs de l'adresse

            adresse.Texte     = Texte;
            adresse.ZipCode   = ZipCode;
            adresse.Longitude = Longitude;
            adresse.Latitude  = Latitude;
            Commune commune = _communeRepo.Single(Commune);

            adresse.Commune = commune;
            _adresseRepo.Update(adresse);
            _adresseRepo.Save();

            Categorie categorie = _categorieRepo.Single(Categorie);

            // Hydratation des champs du poi
            model.Nom        = Nom;
            model.Descriptif = Descriptif;
            model.Categorie  = categorie;
            model.Adresse    = adresse;

            // Affichage du poi à ajouter
            _logger.LogWarning(model.ToString());

            _repository.Update(model);
            _repository.Save();
            return(RedirectToAction("Index"));
        }
예제 #3
0
        public List <PointInteret> getListePointInterets()
        {
            // Liste des catégories
            StreamReader textReader = File.OpenText("../Isen.Dotnet.Library/Data/poi.csv");
            var          csv        = new CsvReader(textReader);

            csv.Configuration.Delimiter = ",";
            List <PointInteret> pointInterets = new List <PointInteret>();
            var i = 0;

            while (csv.Read())
            {
                if (i == 0)
                {
                    i++;
                    continue;
                }

                // Récupère le nom du point d'intérêt
                string nom = csv.GetField <string>(0);
                // Récupère la description
                string description = csv.GetField <string>(1);
                // Récupère le nom la catégorie
                string nomCategorie = csv.GetField <string>(2);
                // Récupère le texte de l'adresse
                string texte = csv.GetField <string>(3);
                // Récupère le ZipCode
                string zipCode = csv.GetField <string>(4);
                // Récupère la longitude
                string longitude = csv.GetField <string>(5);
                // Récupère la latitude
                string latitude = csv.GetField <string>(6);
                // Récupère la commune
                string nomCommune = csv.GetField <string>(7);

                _logger.LogWarning(String.Format("{0} - {1} - {2} - {3} - {4} - {5} - {6}", nom, nomCategorie, texte, zipCode, longitude, latitude, nomCommune));

                float floatLong = -1;
                float floatLat  = -1;

                try
                {
                    longitude = longitude.Replace(".", ",");
                    latitude  = latitude.Replace(".", ",");
                    float.Parse(longitude);
                    float.Parse(latitude);
                }
                catch (System.Exception)
                {
                    // _logger.LogWarning("Unable to get 'longitude' or 'latitude'");
                }

                // Création de la commune si besoin
                Commune commune = _communeRepository.Single(nomCommune);
                if (commune == null)
                {
                    commune           = new Commune();
                    commune.Nom       = nomCommune;
                    commune.Longitude = floatLong;
                    commune.Latitude  = floatLat;
                }
                _communeRepository.Update(commune);
                _communeRepository.Save();

                // Création de l'adresse si besoin
                Adresse adresse = _adresseRepository.Single(texte);
                if (adresse == null)
                {
                    adresse           = new Adresse();
                    adresse.Texte     = texte;
                    adresse.ZipCode   = zipCode;
                    adresse.Longitude = floatLong;
                    adresse.Latitude  = floatLat;
                    adresse.Commune   = commune;
                }
                _adresseRepository.Update(adresse);
                _adresseRepository.Save();

                // Création de la catégorie si besoin
                Categorie categorie = _categorieRepository.Single(nomCategorie);
                if (categorie == null)
                {
                    categorie     = new Categorie();
                    categorie.Nom = nomCategorie;
                }
                _categorieRepository.Update(categorie);
                _categorieRepository.Save();

                // Création du point d'intérêt
                PointInteret pointInteret = _pointInteretRepository.Single(nom);
                if (pointInteret == null)
                {
                    pointInteret             = new PointInteret();
                    pointInteret.Nom         = nom;
                    pointInteret.Description = description;
                    pointInteret.Categorie   = categorie;
                    pointInteret.Adresse     = adresse;
                }

                pointInterets.Add(pointInteret);
            }
            return(pointInterets);
        }