Example #1
0
        public void AddPI()
        {
            if (_PIRepository.GetAll().Any())
            {
                return;
            }

            var PIs = new List <PI>
            {
                new PI
                {
                    Nom        = "ISEN",
                    Descriptif = "Ecole d'ingénieur",
                    Categorie  = _categorieRepository.Single("Ecole"),
                    Adresse    = _adresseRepository.Single("Place Georges Pompidou"),
                },
                new PI
                {
                    Nom        = "Ma Cantine",
                    Descriptif = "Restaurant de cuisine traditionnelle",
                    Categorie  = _categorieRepository.Single("Restaurant"),
                    Adresse    = _adresseRepository.Single("42 place Paul Flamencq"),
                }
            };

            _PIRepository.UpdateRange(PIs);
            _PIRepository.Save();
        }
        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);
        }