// Constructor
        public MainPage()
        {
            InitializeComponent();

            //MeetingManagerTest.SearchStringAsyncTEST();
            //MeetingManagerTest.GetAllMeetingsAsyncTEST();
            //TripManagerTest.GetTripAsyncTEST();
            //TripManagerTest.GetAllTripsAsyncTEST();
            //RoadMapManagerTest.GetRoadMapAsyncTEST();
            //RoadMapManagerTest.GetAllRoadMapsAsyncTEST();
            //HtmlTest.HtmlConstructTEST();
            //return;

            ///TRIAL
            //Microsoft.Phone.Tasks.MarketplaceDetailTask market = new Microsoft.Phone.Tasks.MarketplaceDetailTask();
            //LicenseInformation licence = new LicenseInformation();
            //licence.IsTrial();

            IRoadMapManager manager = new RoadMapManager();
            this.DataContext = new Route();
            (DataContext as Route).Credential = BingMapCredential.CREDENTIAL;
            manager.RoadMapReceived += OnRoadMapReceived;

            //Meeting de départ
            ReferenceMeeting start = new ReferenceMeeting(new DateTime(2013, 1, 2, 8, 30, 0), new Location()
            {
                Latitude = 48.85693,
                Longitude = 2.3412
            }) { 
                City = "Paris", 
                Subject = "Départ coucou lol" 
            };
            //Meeting d'arrivé
            ReferenceMeeting end = new ReferenceMeeting(new DateTime(2013, 1, 2, 18, 30, 0), new Location()
            {
                Latitude = 48.85693,
                Longitude = 2.3412
            }) { 
                City = "Paris", 
                Subject = "Arrivée coucou lol" 
            };
            //Appel de la récupération des données
            manager.GetRoadMapAsync(new DateTime(2013, 1, 3), start, end);
            
        }
        public static void GetRoadMapAsyncTEST()
        {
            IRoadMapManager manager = new RoadMapManager();

            manager.RoadMapReceived += (o, e) =>
            {
                if (e.Error)
                {
                    Debug.WriteLine("Aucun rendez-vous n'existe pour le jour sélectionné");
                    return;
                }
                Debug.WriteLine("YopYop Bling on a récupéré la roadmap!!");
            };
            ReferenceMeeting start = new ReferenceMeeting(new DateTime(2013, 1, 2, 8, 30, 0), new Location() { Latitude = 48.85693,
                                                                     Longitude = 2.3412});
            ReferenceMeeting end = new ReferenceMeeting(new DateTime(2013, 1, 2, 18, 30, 0), new Location() { Latitude = 48.85693,
                                                                     Longitude = 2.3412});

            manager.GetRoadMapAsync(new DateTime(2013, 1, 2), start, end);
        }
        private void initRoadTrip()
        {
            if ((double)settings["latiAdrDepart"] != 0.0 &&
                (double)settings["longiAdrDepart"] != 0.0 &&
                (double)settings["latiAdrArriver"] != 0.0 &&
                (double)settings["longiAdrArriver"] != 0.0)
            {
                rt_ConsoTrajet.tb_Info1.Text = "Consomation";
                rt_CoutTot.tb_Info1.Text = "Coût total";
                rt_DistRdv.tb_Info1.Text = "Distance parcourue";
                rt_nbrRdv.tb_Info1.Text = "Nombres de RDVs";
                rt_TpsTrajetRdv.tb_Info1.Text = "Temps de trajet";

                //gr_AnomalieLieu.Children.Clear();
                //gr_AnomalieTemps.Children.Clear();
                locationFailCollection.Items.Clear();
                tripFailCollection.Items.Clear();

                gr_InfoRD.Children.Clear();
                gr_InfoRDOpti.Children.Clear();
                map_Rdv.Children.Clear();
                myRMM = new RoadMapManager();
                myMM = new MeetingManager();
                tripTimeFail = new List<Trip>();
                meetingLocationFail = new List<Meeting>();

                //Récupération du lieu de départ
                var myRefMeetDepart = new ReferenceMeeting();
                myRefMeetDepart.Address = (string)settings["AdrDepart"];
                myRefMeetDepart.City = (string)settings["VilleDepart"];
                myRefMeetDepart.Location = new Location() { Latitude = (double)settings["latiAdrDepart"], Longitude = (double)settings["longiAdrDepart"] };

                //Récupération du lieu d'arrivée
                var myRefMeetArriver = new ReferenceMeeting();
                myRefMeetArriver.Address = (string)settings["AdrArriver"];
                myRefMeetArriver.City = (string)settings["VilleArriver"];
                myRefMeetArriver.Location = new Location() { Latitude = (double)settings["latiAdrArriver"], Longitude = (double)settings["longiAdrArriver"] };

                myRMM.RoadMapReceived += OnRoadMapReceived;
                myRMM.GetRoadMapAsync((DateTime)settings["Date"], myRefMeetDepart, myRefMeetArriver);

                indicator = new ProgressIndicator
                {
                    IsVisible = true,
                    IsIndeterminate = true,
                    Text = "Chargement..."
                };
                SystemTray.SetProgressIndicator(this, indicator);
            }
            else
            {
                MessageBox.Show("Veuillez vérifier vos lieux de départ et d'arrivée dans les paramètres.");
            }
        }