コード例 #1
0
        static void Main(string[] args)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            String longitude = "5.726744267129334";
            String latitude  = "45.18521853612248";
            Int32  distance  = 600;

            //Instance de DataDetailsTransport avec une véritable connexion
            DataDetailsTransport detail = new DataDetailsTransport(new Connexion());


            //2ème connexion api pour récupérer les détails de chaque ligne
            Connexion tag    = new Connexion();
            String    urlTag = "http://data.metromobilite.fr/api/routers/default/index/routes";
            List <DetailsTransport> detailStation = JsonConvert.DeserializeObject <List <DetailsTransport> >(tag.ApiConnexion(urlTag));

            //remove doublons
            Unduplicate lb = new Unduplicate(new Connexion());
            Dictionary <string, List <string> > resultat = lb.removeDuplicate(latitude, longitude, distance);

            //affichage du resultat
            foreach (KeyValuePair <string, List <string> > kvp in resultat)
            {
                Console.WriteLine("Arret = " + kvp.Key);
                foreach (string line in kvp.Value)
                {
                    Console.WriteLine("      Ligne = " + detail.GetDetailsLine(line).shortName + "       couleur ligne = " + detail.GetDetailsLine(line).color + " nom ligne = " + detail.GetDetailsLine(line).longName);
                }
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            //récupère les coordonnées 7 rue hoche
            String latitude  = "45.185476";
            String longitude = "5.727772";
            int    distance  = 400;

            //connexion à la 1ère api et suppression des doublons d'arrêts bus via méthode removeduplicate
            Unduplicate firstConnect = new Unduplicate(new Connexion());
            Dictionary <string, List <string> > result = firstConnect.RemoveDuplicate(latitude, longitude, distance);

            //utilise la 2ème api pour avoir le détail des lignes et convertit en Json
            DataDetailsTransport dataDetailsTransport = new DataDetailsTransport(new Connexion());

            //affichage du nouveau dictionnaire result avec les détails arrêt de bus via l'appel à la 2ème api
            foreach (KeyValuePair <string, List <string> > kvp in result)
            {
                Console.WriteLine("\nArret = " + kvp.Key);
                foreach (string line in kvp.Value)
                {
                    Console.WriteLine("    " + dataDetailsTransport.GetDetailsLine(line).mode + " " + dataDetailsTransport.GetDetailsLine(line).shortName + "   couleur = " + dataDetailsTransport.GetDetailsLine(line).color + "   nom ligne = " + dataDetailsTransport.GetDetailsLine(line).longName);
                }
            }
        }
コード例 #3
0
        //méthode qui affiche les arrets et ligne de bus
        public void LoadTransport()
        {
            Unduplicate connect = new Unduplicate(new Connexion());
            Dictionary <string, List <string> > result = connect.RemoveDuplicate(latitude, longitude, distance);

            MonTitre = "Rechercher une ligne de bus à proximité";// titre dont la property est définit plus haut, binder dans la vue MonTitre

            ObservableCollection <Transport> bus = new ObservableCollection <Transport>();

            bus        = transformDictionaryInList(result);
            Transports = bus;
        }
コード例 #4
0
        public void LoadTransports()
        {
            Unduplicate lb = new Unduplicate(new Connexion());
            Dictionary <string, List <DetailsTransport> > resultat = lb.GetProximityLines(latitude, longitude, distance);

            MyTitle = "Lignes de transport de l'agglomération";

            ObservableCollection <Transport> transports = new ObservableCollection <Transport>();

            transports = transformToCollection(resultat);

            //transports.Add(new Transport { BusStation = "Caserne de Bonne" , BusLine = "SEM:16" });
            //transports.Add(new Transport { BusStation = "Caserne de Bonne", BusLine = "SEM:12" });
            //transports.Add(new Transport { BusStation = "Caserne de Bonne", BusLine = "SEM:14" });

            Transports = transports;
        }
コード例 #5
0
        public void RemoveDuplicateTest()
        {
            String latitude  = "45.185476";
            String longitude = "5.727772";
            int    distance  = 400;

            FakeConnexion testFakeConnect = new FakeConnexion();

            testFakeConnect.jsonResult = Json1.jsonStation;
            Unduplicate testConnect = new Unduplicate(testFakeConnect);
            Dictionary <string, List <string> > result = testConnect.RemoveDuplicate(latitude, longitude, distance);

            Assert.AreEqual(1, result.Count);
            Assert.IsTrue(result.ContainsKey("GRENOBLE, CASERNE DE BONNE"));
            Assert.AreEqual(result["GRENOBLE, CASERNE DE BONNE"].Count, 3);
            Assert.IsTrue(result["GRENOBLE, CASERNE DE BONNE"][0].Equals("SEM:13"));
            Assert.IsTrue(result["GRENOBLE, CASERNE DE BONNE"][1] == ("SEM:16"));
            Assert.AreEqual(result["GRENOBLE, CASERNE DE BONNE"][2], "SEM:C4");
        }
コード例 #6
0
        public void removeDuplicateTest()
        {
            String longitude = "5.726744267129334";
            String latitude  = "45.18521853612248";
            Int32  distance  = 400;

            //remove doublons
            FakeConnexion fake = new FakeConnexion();

            fake.resultatJson = Resource1.jsonProximityLines;
            Unduplicate lb = new Unduplicate(fake);
            Dictionary <string, List <string> > resultat = lb.removeDuplicate(latitude, longitude, distance);

            Assert.AreEqual(1, resultat.Count);
            Assert.IsTrue(resultat.ContainsKey("GRENOBLE, CASERNE DE BONNE"));
            Assert.AreEqual(resultat["GRENOBLE, CASERNE DE BONNE"].Count, 3);
            Assert.IsTrue(resultat["GRENOBLE, CASERNE DE BONNE"][0] == "SEM:13");
            Assert.IsTrue(resultat["GRENOBLE, CASERNE DE BONNE"][1].Equals("SEM:16"));
            Assert.AreEqual(resultat["GRENOBLE, CASERNE DE BONNE"][2], "SEM:C4");
        }