コード例 #1
0
 public static void CheckLocationAsyncTEST()
 {
     IMeetingManager manager = new MeetingManager();
     manager.LocationChecked += (o, e) =>
     {
         Debug.WriteLine(e.Meeting.IsLocationFail);
     };
     manager.SearchStringAsync("4 rue Sakharov 76130 Mont Saint Aignan France");
 }
コード例 #2
0
        public void GetRoadMapAsync(DateTime date, ReferenceMeeting startPosition, ReferenceMeeting endPosition)
        {
            IMeetingManager meetingManager;
            ITripManager tripManager;
            RoadMap roadMap = new RoadMap();
            meetingManager = new MeetingManager();
            tripManager = new TripManager();
            roadMap.Date = date;

            //Lorsque on reçoit tous les RDV géolocalisés
            meetingManager.AllMeetingsRetreived += (o, eventMeeting) =>
            {
                if (eventMeeting.Error)
                {
                    RoadMapReceived(this, new RoadMapReceivedEventArgs(null) { Error = true, MessageError = eventMeeting.MessageError});
                    meetingManager.AllMeetingsRetreived = null;
                    return;
                }

                startPosition.DateTime = eventMeeting.Meetings.FirstOrDefault().DateTime.Date;
                endPosition.DateTime = eventMeeting.Meetings.FirstOrDefault().DateTime.Date.AddDays(1);
                //Position de départ
                roadMap.Meetings.Add(startPosition);
                //Enregistrement des rendez-vous dans la roadmap
                roadMap.Meetings.AddRange(eventMeeting.Meetings);
                //Position d'arrivée
                roadMap.Meetings.Add(endPosition);

                //Lorsque on reçoit le chemin complet de la journée
                tripManager.TripReceived += (o2, eventTrip) =>
                {
                    if (eventTrip.Error)
                    {
                        RoadMapReceived(this, new RoadMapReceivedEventArgs(null) { Error = true, MessageError = "L'adresse de départ ou d'arrivée décrite dans les paramètres de l'application est incorrecte!" });
                        tripManager.TripReceived = null;
                        return;
                    }
                    roadMap.RouteResult = eventTrip.RouteResult;
                    roadMap.Trips.AddRange(eventTrip.Trips);
                    RoadMapReceived(this, new RoadMapReceivedEventArgs(roadMap)); 
                    tripManager.TripReceived = null;
                };
                if (roadMap.ValidMeetings.Count <= 0)
                {
                    RoadMapReceived(this, new RoadMapReceivedEventArgs(null) { Error = true });
                    return;
                }
                //Calcule du chemin complet de façon asynchrone
                tripManager.GetTripAsync(roadMap.ValidMeetings);
            };
            //Récupération et vérification des rendez-vous
            meetingManager.GetAllMeetingsAsync(date);
        }
コード例 #3
0
 public static void GetAllTripsAsyncTEST()
 {
     IMeetingManager meetingManager = new MeetingManager();
     //meetingManager.AllMeetingsRetreived += (o, e) =>
     //{
     //    ITripManager manager = new TripManager();
     //    manager.AllTripsReceived += (obj, eventTrips) =>
     //    {
             
     //    };
     //    manager.GetAllTripsAsync(e.Results);
     //};
     //meetingManager.GetAllMeetingsAsync(DateTime.Today.AddDays(-1));
 }
コード例 #4
0
        public static void GetAllMeetingsAsyncTEST()
        {
            IMeetingManager manager = new MeetingManager();

            manager.AllMeetingsRetreived += (o, e) =>
            {
                Debug.WriteLine("Fin de la requete");

                foreach (var m in e.Meetings)
                {
                    Debug.WriteLine(m.DateTime);
                }
            };
            manager.GetAllMeetingsAsync(new DateTime(2013,1,2));
        }
コード例 #5
0
        private void initRoadTrip()
        {
            if (settings["latiAdrDepart"] != "" && settings["longiAdrDepart"] != "" && settings["latiAdrArriver"] != "" && settings["longiAdrArriver"] != "")
            {
                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();
                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>();

                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"] };

                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'arriver dans les paramètres");
            }
        }
コード例 #6
0
 private void verifAdrArriver()
 {
     MeetingManager monMM = new MeetingManager();
     monMM.SearchStringCompleted += (o, eSearchString) =>
     {
         if (eSearchString.Error)
         {
             //afficher erreur
             monMM.SearchStringCompleted = null;
             MessageBox.Show("Adresse invalide");
             btn_Ok.IsEnabled = true;
             button1.IsEnabled = true;
             button2.IsEnabled = true;
             return;
         }
         settings["AdrArriver"] = eSearchString.Address;
         settings["VilleArriver"] = eSearchString.City;
         settings["latiAdrArriver"] = eSearchString.Location.Latitude;
         settings["longiAdrArriver"] = eSearchString.Location.Longitude;
         MessageBox.Show("Adresse reconnue");
         tbx_adrArriver.Text = eSearchString.Address;
         monMM.SearchStringCompleted = null;
         save();
         btn_Ok.IsEnabled = true;
         button1.IsEnabled = true;
         button2.IsEnabled = true;
     };
     monMM.SearchStringAsync(tbx_adrArriver.Text);
 }
コード例 #7
0
 private void verifAdrArriver()
 {
     MeetingManager monMM = new MeetingManager();
     monMM.SearchStringCompleted += (o, eSearchString) =>
     {
         if (eSearchString.Error)
         {
             //afficher erreur
             monMM.SearchStringCompleted = null;
             ToastPrompt toast = new ToastPrompt();
             toast.Title = "Erreur";
             toast.Message = "Adresse d'arrivée invalide";
             toast.Background = new SolidColorBrush(Colors.Red);
             toast.Show();
             btn_Ok.IsEnabled = true;
             button1.IsEnabled = true;
             button2.IsEnabled = true;
             return;
         }
         settings["AdrArriver"] = eSearchString.Address;
         settings["VilleArriver"] = eSearchString.City;
         settings["latiAdrArriver"] = eSearchString.Location.Latitude;
         settings["longiAdrArriver"] = eSearchString.Location.Longitude;
         ToastPrompt toast2 = new ToastPrompt();
         toast2.Title = "Succès";
         toast2.Message = "Adresse d'arrivée reconnue";
         toast2.Show();
         tbx_adrArriver.Text = eSearchString.Address;
         monMM.SearchStringCompleted = null;
         save();
         btn_Ok.IsEnabled = true;
         button1.IsEnabled = true;
         button2.IsEnabled = true;
     };
     monMM.SearchStringAsync(tbx_adrArriver.Text);
 }