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