Пример #1
0
 public MainWindow(MyPersonalMapData m)
 {
     mP = new MyPersonalMapData(m.Nom, m.Prenom, m.Email);
     foreach (ICartoObj obj in m.CartoCollection)
     {
         if (obj is POI)
         {
             mP.AddCartObj(new POI((POI)obj));
         }
         if (obj is ProjectLibraryClass.Polygon)
         {
             mP.AddCartObj(new ProjectLibraryClass.Polygon((ProjectLibraryClass.Polygon)obj));
         }
         if (obj is ProjectLibraryClass.Polyline)
         {
             mP.AddCartObj(new ProjectLibraryClass.Polyline((ProjectLibraryClass.Polyline)obj));
         }
     }
     coordTmp           = new List <ICoord>();
     _lbBackgroundColor = new SolidColorBrush(System.Windows.Media.Colors.White);
     _lbForegroundColor = new SolidColorBrush(Colors.Black);
     status             = null;
     InitializeComponent();
     ListBoxMyPersonalData.ItemsSource = mP.CartoCollection;
     UpdateStatusBar("Zoom level = " + myMap.ZoomLevel.ToString());
     ListBoxMyPersonalData.Background = BackgroundColor;
     ListBoxMyPersonalData.Foreground = ForegroundColor;
     BgColorChanged += BackgroundColorHasChanged;
     FgColorChanged += ForegrounddColorHasChanged;
     if (mP.CartoCollection.Count > 0)
     {
         RefreshMap();
     }
 }
        //Fonction de chargement pour la page "Principal"
        public void LoadPagePrincipal(MyPersonalMapData user)
        {
            currentControl           = new PagePrincipal(user);
            this.MonControle.Content = currentControl;            //Affiche la nouvelle page 'Principal'

            currentControl.PageChange += MainWindow_OnPageChange; //On s'abonne à l'évènement 'pageChange'
        }
Пример #3
0
        private void MenuFileOpen_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();

            openFile.Filter           = "MyCartographyObj files(*.az) | *.az";
            openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            openFile.ShowDialog();

            //openFile.di

            MyPersonalMapData personneTMP = null;

            try
            {
                personneTMP = MyPersonalMapData.LoadFile(openFile.FileName);
            }
            catch (LoadSaveException messageErreurLoadFile)
            {
                MessageBox.Show(messageErreurLoadFile.Message, "ERREUR OUVERTURE", MessageBoxButton.OK, MessageBoxImage.Error);
                personneTMP = null;
            }

            if (personneTMP != null)
            {
                MessageBox.Show("OUVERTURE REUSSIE", "", MessageBoxButton.OK, MessageBoxImage.Information);
                PersonneConnectee = personneTMP;
                UpdateListBox();
            }
        }
        //Fonction pour switcher entre les pages
        private void MainWindow_OnPageChange(int obj, MyPersonalMapData user)
        {
            switch (obj)
            {
            case 1: LoadPageLogin(); break;         // si on vient de la page "Principal" on va vers la "page Login"

            case 2: LoadPagePrincipal(user); break; // si on vient de la "Login" on va vers la page "Principal"
            }
        }
Пример #5
0
        private void Connexion_Click(object sender, RoutedEventArgs e)
        {
            MyPersonalMapData utilisateur = new MyPersonalMapData(NomTB.Text, PrenomTB.Text, emailTB.Text);
            WindowPrincipal   w           = new WindowPrincipal(utilisateur);
            Coordonnees       A           = new Coordonnees(40.25, 48.25);

            MyCartographyObjects.Polyline Poly1 = new MyCartographyObjects.Polyline(new List <Coordonnees>()
            {
                A
            }, 10, Color.FromArgb(255, 201, 200, 152), 1);
            ObservableCollection <ICartoObj> ListeTest = new ObservableCollection <ICartoObj>();

            ListeTest.Add(Poly1);
            utilisateur.ObservableCollection = ListeTest;

            Coordonnees B        = new Coordonnees(40.25, 48.25);
            Coordonnees D        = new Coordonnees(3.25, 10.45);
            Coordonnees E        = new Coordonnees(4.254, 5.2545);
            Polygone    Polygone = new Polygone(new List <Coordonnees>()
            {
                B, D, E
            }, Color.FromArgb(165, 187, 195, 0), Color.FromArgb(165, 200, 140, 165), 1, 1);

            ListeTest.Add(Polygone);
            utilisateur.ObservableCollection = ListeTest;


            string filename = utilisateur.Nom + utilisateur.Prenom + ".dat";

            if (NomTB.Text.Length < 1 || PrenomTB.Text.Length < 1 || emailTB.Text.Length < 1)
            {
                ApresConnexion.Text = "Erreur : Veuillez remplir tous les champs";
                MessageBox.Show("Erreur : Veuillez remplir tous les champs");
            }
            else
            {
                // ApresConnexion.Text = filename;
                if (!(File.Exists(@"C:\Users\gaetan\source\repos\CartoProject\Test\bin\Debug\" + filename)))
                {
                    ApresConnexion.Text = "Utilisateur n'existe pas";
                    MessageBox.Show("Utilisateur n'existe pas");
                    utilisateur.Save();
                    w.Show();
                    this.Close();
                }
                else
                {
                    ApresConnexion.Text = "Utilisateur existe deja";
                    MessageBox.Show("Utilisateur existe deja");
                    // utilisateur.Load();
                    w.Show();
                    this.Close();
                }
            }
        }
Пример #6
0
        public PagePrincipal(MyPersonalMapData user)
        {
            InitializeComponent();

            User                 = user;
            ListeTmp             = null;
            ListDock.DataContext = User;
            ListeCoo.ItemsSource = User.Liste;
            AffichePin();
            StatBar.Text = "User connected : " + User.Nom + " " + User.Prenom; //Affichage dans la StatusBar
        }
Пример #7
0
        public Map(MyPersonalMapData myMapData)
        {
            InitializeComponent();
            MapCore point = new MapCore();
            MapCore map   = new MapCore();

            _myMapData            = myMapData;
            listBox.SelectionMode = System.Windows.Controls.SelectionMode.Extended;
            listBox.ItemsSource   = _myMapData.ObservableCollection;
            LoadCoordoonees();
            this.Title += " User: "******" " + myMapData.Prenom + " " + myMapData.Email;
        }
Пример #8
0
        private void SeConnecter_Click(object sender, RoutedEventArgs e)
        {
            MyPersonalMapData temp = new MyPersonalMapData();

            if (temp.Load(Prenom, Nom))
            {
                TextBoxInfo.Text = "Ce compte n'existe pas!";
                return;
            }
            ((MainWindow)Owner).myPersonalMapData = temp;
            Close();
        }
Пример #9
0
        private void CréeUnCompte_Click(object sender, RoutedEventArgs e)
        {
            if (Nom.Length == 0 || Prenom.Length == 0 || Email.Length == 0)
            {
                TextBoxInfo.Text = "Un champs est vide!";
                return;
            }
            MyPersonalMapData temp = new MyPersonalMapData(Nom, Prenom, Email, new ObservableCollection <ICartoObj> {
            });

            ((MainWindow)Owner).myPersonalMapData = temp;
            Close();
        }
Пример #10
0
        private void MenuFileSave_Click(object sender, RoutedEventArgs e)
        {
            SaveFileDialog saveFile = new SaveFileDialog();

            saveFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            saveFile.Filter           = "MyCartographyObj files(*.az) | *.az";
            saveFile.ShowDialog();

            if (MyPersonalMapData.SavePersonne(PersonneConnectee, saveFile.FileName, true))
            {
                MessageBox.Show("SAUVEGARDE REUSSIE", "", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            else
            {
                MessageBox.Show("ERREUR SAUVEGARDE", "", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void OK_Button(object sender, RoutedEventArgs e)
        {
            MyPersonalMapData tmpUser = new MyPersonalMapData(lastName.Text, firstName.Text);

            try
            {
                tmpUser.Load(); //Test s'il existe

                User.Nom    = lastName.Text;
                User.Prenom = firstName.Text;
                User.Load();
                this.Close();
            }
            catch (Exception)
            {
                Window error = new ErrorWindow("An error occurred while loading the profile");
                error.ShowDialog(); //bloque la page
            }
        }
Пример #12
0
        public MainWindow()
        {
            InitializeComponent();

            SolidColorBrush newBrush = new SolidColorBrush(Colors.Black);

            superCombo.SelectedColor = newBrush;

            userData = new MyPersonalMapData();
            coord    = new List <Coordonnees>();
            loc      = new LocationCollection();

            nbItems   = 0;
            nbCoord   = 0;
            nbPoi     = 0;
            prevRadio = 0;

            add    = true;
            modify = delete = false;
        }
Пример #13
0
        private void ButtonSubmit_Click(object sender, RoutedEventArgs e)
        {
            string nom    = TextBoxNom.Text;
            string prenom = TextBoxPrenom.Text;
            string email  = TextBoxMail.Text;

            MyPersonalMapData data = new MyPersonalMapData(nom, prenom, email);

            if (data.BinaryExist())
            {
                data = data.LoadAsBinary();
            }
            else
            {
                data.SaveAsBinary();
            }
            Map m = new Map(data);

            m.Show();
            this.Close();
        }
Пример #14
0
        private void MenuFileOpen_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();

            openFile.Filter           = "MyCartographyObj files(*.az) | *.az";
            openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            openFile.ShowDialog();

            MyPersonalMapData personneTMP;

            if ((personneTMP = MyPersonalMapData.LoadFile(openFile.FileName)) == null)
            {
                MessageBox.Show("ERREUR OUVERTURE", "", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                MessageBox.Show("OUVERTURE REUSSIE", "", MessageBoxButton.OK, MessageBoxImage.Information);
                PersonneConnectee = personneTMP;
                TextDebug.Content = PersonneConnectee.ToString();
            }
        }
Пример #15
0
        private void MenuFileTrajetExport_Click(object sender, RoutedEventArgs e)
        {
            bool      erreurExport = false;
            ICartoObj o            = (ICartoObj)ListBox.SelectedItem;

            if (o == null)
            {
                MessageBox.Show("Aucun élément de la ListBox est sélectionné", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                if (o is Polyline)
                {
                    Polyline p = o as Polyline;

                    SaveFileDialog saveFile = new SaveFileDialog();
                    saveFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                    saveFile.Filter           = "Fichier CSV files(*.csv) | *.csv";
                    saveFile.ShowDialog();

                    try
                    {
                        MyPersonalMapData.saveCSVtrajet(p, saveFile.FileName);
                    }
                    catch (CSVexception messageErreurSaveTrajet)
                    {
                        MessageBox.Show(messageErreurSaveTrajet.Message, "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error);
                        erreurExport = true;
                    }
                    if (!erreurExport)
                    {
                        MessageBox.Show("Exportation réussie", "", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
                else
                {
                    MessageBox.Show("L'élément sélectionné n'est pas un trajet (polyline)", "ERREUR", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
Пример #16
0
 private void connectButton_Click(object sender, RoutedEventArgs e)
 {
     if (string.IsNullOrEmpty(tbEmail.Text) || string.IsNullOrEmpty(tbNom.Text) || string.IsNullOrEmpty(tbPrenom.Text))
     {
         tbBadSaisie.Text = "Veuillez saisir tous les champs !";
     }
     else
     {
         ///On va vérifier le format d'email
         if (!IsValidEmail(tbEmail.Text))
         {
             tbBadSaisie.Text = "Mauvais format d'adresse mail";
         }
         else
         {
             ///Tout est bon
             MyPersonalMapData mp = new MyPersonalMapData(tbNom.Text, tbPrenom.Text, tbEmail.Text);
             /// On regarde si un fichier existe
             if (File.Exists(tbPrenom.Text + tbNom.Text + ".txt"))
             {
                 Console.WriteLine("FICHIER EXISTE");
                 ///Le fichier existe, on va importer
                 Stream     s         = new FileStream(tbPrenom.Text + tbNom.Text + ".txt", FileMode.Open, FileAccess.Read);
                 IFormatter formatter = new BinaryFormatter();
                 ObservableCollection <ICartoObj> iCartoObjRead = (ObservableCollection <ICartoObj>)formatter.Deserialize(s);
                 foreach (ICartoObj carto in iCartoObjRead)
                 {
                     mp.AddCartObj(carto);
                 }
                 s.Close();
             }
             Console.WriteLine("ON CREE MAINWINDOW");
             MainWindow mw = new MainWindow(mp);
             mw.Show();
             Close();
         }
     }
 }
Пример #17
0
        private void MenuFileSave_Click(object sender, RoutedEventArgs e)
        {
            SaveFileDialog saveFile = new SaveFileDialog();

            saveFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            saveFile.Filter           = "MyCartographyObj files(*.az) | *.az";
            saveFile.ShowDialog();
            MyPersonalMapData personneTMP = null;

            try
            {
                personneTMP = MyPersonalMapData.SavePersonne(PersonneConnectee, saveFile.FileName);
            }
            catch (LoadSaveException messageErreurSave)
            {
                MessageBox.Show(messageErreurSave.Message, "ERREUR SAUVEGARDE", MessageBoxButton.OK, MessageBoxImage.Error);
                personneTMP = null;
            }
            if (personneTMP != null)
            {
                PersonneConnectee = personneTMP;
                MessageBox.Show("SAUVEGARDE REUSSIE", "", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
Пример #18
0
        private void MenuFileOpen_Click(object sender, RoutedEventArgs e)//OUVRE UN
        {
            string filename = "";

            Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();

            dlg.DefaultExt = ".dat";
            dlg.Filter     = "DAT Files (*.dat)|*.dat";

            Nullable <bool> result = dlg.ShowDialog();

            if (result == true)
            {
                filename = dlg.FileName;

                _myMapData = new MyPersonalMapData().LoadAsBinary(filename);
                Map m2 = new Map(_myMapData);
                m2.Show();
                this.Close();

                listBox.Items.Refresh();
                LoadCoordoonees();
            }
        }
Пример #19
0
        private void MenuFileTrajetImport_Click(object sender, RoutedEventArgs e)
        {
            bool           ouvertureOK = true;
            OpenFileDialog openFile    = new OpenFileDialog();

            openFile.Filter           = "Fichier CSV files(*.csv) | *.csv";
            openFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            openFile.ShowDialog();

            try
            {
                MyPersonalMapData.readCSVtrajet(PersonneConnectee, openFile.FileName);
            }
            catch (CSVexception messageErreurCSV)
            {
                MessageBox.Show(messageErreurCSV.Message, "ERREUR OUVERTURE", MessageBoxButton.OK, MessageBoxImage.Error);
                ouvertureOK = false;
            }
            if (ouvertureOK)
            {
                UpdateListBox();
                MessageBox.Show("OUVERTURE REUSSIE", "", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
Пример #20
0
 public WindowPrincipal(MyPersonalMapData user) : this()
 {
     _user = user;
 }
Пример #21
0
        static void Main(string[] args)
        {
            int  choix;
            bool fin = false;

            while (!fin)
            {
                choix = Choix("Classe Coordonnee", "Classe POI", "Classe Polyline", "Classe Polygon", "Interface IIsPointClose",
                              "Interface IPointy", "Liste générique CartoObj", "Liste générique Polyline", "Classer liste d'objet CartObj",
                              "Sauvegarder", "Charger", "Quitter");
                switch (choix)
                {
                case 1:
                {
                    Console.WriteLine("Test de la classe Coordonnee");
                    Coordonnees coord = new Coordonnees();
                    Console.WriteLine("Test du constructeur par défault et de la surcharge ToString()");
                    Console.WriteLine(coord.ToString());
                    double      x1 = 2, y1 = 4;
                    Coordonnees coord2 = new Coordonnees(x1, y1);
                    Console.WriteLine("Test du constructeur d'initialisation (et de l'operateur ToString()");
                    Console.WriteLine(coord2.ToString());
                    break;
                }

                case 2:
                {
                    Console.WriteLine("Test de la classe POI");
                    POI poi = new POI();
                    Console.WriteLine("Test du constructeur par défault et de la surcharge de l'opérateur ToString()");
                    Console.WriteLine(poi.ToString());
                    double x1 = 25.63987, y1 = 56.2235;
                    string tmp = "Classe de laboratoire";
                    Console.WriteLine("Test du constructeur d'initialisation et de la surcharge de l'opérateur ToString()");
                    POI poi2 = new POI(tmp, x1, y1);
                    Console.WriteLine(poi2.ToString());
                    break;
                }

                case 3:
                {
                    Console.WriteLine("Test de la classe Polyline");
                    Polyline poly1 = new Polyline();
                    Console.WriteLine("Test du constructeur par défault et de la surcharge de l'opérateur ToString()");
                    Console.WriteLine(poly1.ToString());
                    Console.WriteLine("Test de la fonction Draw()");
                    poly1.Draw();
                    Color         cou       = Color.Aqua;
                    int           epaisseur = 5;
                    Coordonnees   coord1    = new Coordonnees(2.55, 2.669);
                    Coordonnees   coord2    = new Coordonnees(4.569578, 97.59);
                    Coordonnees   coord3    = new Coordonnees(588.2243, 6.20135);
                    Coordonnees[] tab       = new Coordonnees[3];
                    tab[0] = coord1;
                    tab[1] = coord2;
                    tab[2] = coord3;
                    Polyline poly2 = new Polyline(epaisseur, cou, tab);
                    Console.WriteLine("Test du constructeur d'initialisation et de la surcharge de l'opérateur ToString()");
                    Console.WriteLine(poly2.ToString());
                    Console.WriteLine("Test de la fonction Draw()");
                    poly2.Draw();
                    break;
                }

                case 4:
                {
                    Console.WriteLine("Test de la classe Polygon");
                    Polygon poly1 = new Polygon();
                    Console.WriteLine("Test du constructeur par défault et de la surcharge de l'opérateur ToString()");
                    Console.WriteLine(poly1.ToString());
                    Console.WriteLine("Test de la fonction Draw()");
                    poly1.Draw();
                    Color         rempl  = Color.Cyan;
                    Color         cont   = Color.Orange;
                    double        opa    = 0.233;
                    Coordonnees   coord1 = new Coordonnees(2.55, 2.669);
                    Coordonnees   coord2 = new Coordonnees(4.569578, 97.59);
                    Coordonnees   coord3 = new Coordonnees(588.2243, 6.20135);
                    Coordonnees[] tab    = new Coordonnees[3];
                    tab[0] = coord1;
                    tab[1] = coord2;
                    tab[2] = coord3;
                    Polygon poly2 = new Polygon(tab, rempl, cont, opa);
                    Console.WriteLine("Test du constructeur d'initialisation et de la surcharge de l'opérateur ToString()");
                    Console.WriteLine(poly2.ToString());
                    Console.WriteLine("Test de la fonction Draw()");
                    poly2.Draw();
                    break;
                }

                case 5:
                {
                    ///Test de l'interface IIsPointClose
                    ///Il faut le test avec POI, Polyline et Polygone
                    double precision, x, y;
                    bool   isClose;
                    Console.WriteLine("Test de l'interface IIsPointClose");
                    int choix2 = Choix("POI", "Polyline", "Polygon");
                    switch (choix2)
                    {
                    case 1:
                    {
                        Console.WriteLine("POI");
                        POI poi = new POI(2.035, 5.310);
                        Console.WriteLine(poi.ToString());
                        Console.WriteLine("Veuillez saisir des coordonnées : ");
                        Console.WriteLine("X = "); x = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Y = "); y = Convert.ToDouble(Console.ReadLine());
                        Coordonnees coordPerso = new Coordonnees(x, y);
                        Console.WriteLine(coordPerso.ToString());
                        Console.WriteLine("Veuillez saisir le taux de précision : "); precision = Convert.ToDouble(Console.ReadLine());
                        isClose = poi.IsPointClose(coordPerso.X, coordPerso.Y, precision);
                        Console.WriteLine("isClose = " + isClose);
                        break;
                    }

                    case 2:
                    {
                        Console.WriteLine("Polyline");
                        Coordonnees[] tab = new Coordonnees[3];
                        tab[0] = new Coordonnees(2.500, 2.500);
                        tab[1] = new Coordonnees(5.000, 5.000);
                        tab[2] = new Coordonnees(1.540, 1.540);
                        Color    white = Color.White;
                        Polyline poly  = new Polyline(5, white, tab);
                        Console.WriteLine(poly.ToString());
                        Console.WriteLine("Veuillez saisir des coordonnées : ");
                        Console.WriteLine("X = "); x = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Y = "); y = Convert.ToDouble(Console.ReadLine());
                        Coordonnees coordPerso = new Coordonnees(x, y);
                        Console.WriteLine(coordPerso.ToString());
                        Console.WriteLine("Veuillez saisir le taux de précision : "); precision = Convert.ToDouble(Console.ReadLine());
                        isClose = poly.IsPointClose(coordPerso.X, coordPerso.Y, precision);
                        Console.WriteLine("isClose = " + isClose);
                        break;
                    }

                    case 3:
                    {
                        Console.WriteLine("Polygone");

                        /*///Triangle Harcodé
                         * Coordonnees[] tab = new Coordonnees[3];
                         * tab[0] = new Coordonnees(1, 1);
                         * tab[1] = new Coordonnees(2, 3);
                         * tab[2] = new Coordonnees(3, 1);*/
                        /*///Carré négatif hardcodé*/
                        Coordonnees[] tab = new Coordonnees[4];
                        tab[0] = new Coordonnees(1, -1);
                        tab[1] = new Coordonnees(3, -1);
                        tab[2] = new Coordonnees(3, -3);
                        tab[3] = new Coordonnees(1, -3);
                        Color   inte = Color.White;
                        Color   cont = Color.Red;
                        Polygon poly = new Polygon(tab, inte, cont, 0.5);
                        Console.WriteLine(poly.ToString());
                        Console.WriteLine("Veuillez saisir des coordonnées : ");
                        Console.WriteLine("X = "); x = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Y = "); y = Convert.ToDouble(Console.ReadLine());
                        Coordonnees coordPerso = new Coordonnees(x, y);
                        Console.WriteLine(coordPerso.ToString());
                        isClose = poly.IsPointClose(coordPerso.X, coordPerso.Y, 0);
                        Console.WriteLine("isClose = " + isClose);
                        break;
                    }
                    }


                    break;
                }

                case 6:
                {
                    Console.WriteLine("Test de l'interface IIPointy");
                    int choix2 = Choix("Polyline", "Polygon", "Quitter");
                    switch (choix2)
                    {
                    case 1:
                    {
                        double x, y;
                        Console.WriteLine("---Polyline---");
                        Coordonnees[] tab = new Coordonnees[3];
                        tab[0] = new Coordonnees(0.5, 2.3597);
                        tab[1] = new Coordonnees(5.6, 2.3597);
                        tab[2] = new Coordonnees(3.5, 5);
                        Color    col  = Color.White;
                        Polyline poly = new Polyline(2, col, tab);
                        Console.WriteLine(poly);
                        Console.WriteLine("Nombre de points = " + poly.nbPoint);
                        Console.WriteLine("Veuillez saisir les coordonnées d'un nouveau points :");
                        Console.Write("X = "); x = Convert.ToInt32(Console.ReadLine()); Console.WriteLine();
                        Console.Write("Y = "); y = Convert.ToInt32(Console.ReadLine()); Console.WriteLine();
                        poly.AddCoord(new Coordonnees(x, y));
                        Console.WriteLine(poly);
                        Console.WriteLine("Nombre de points = " + poly.nbPoint);
                        break;
                    }

                    case 2:
                    {
                        Console.WriteLine("---Polygon---");
                        Coordonnees[] tab = new Coordonnees[3];
                        tab[0] = new Coordonnees(0.5, 2.3597);
                        tab[1] = new Coordonnees(5.6, 2.3597);
                        tab[2] = new Coordonnees(3.5, 5);
                        Color   col  = Color.White;
                        Color   col2 = Color.Red;
                        Polygon poly = new Polygon(tab, col, col2, 0.5);
                        Console.WriteLine("---Coordonnees---");
                        Console.WriteLine(poly);
                        Console.WriteLine("Nombre de points = " + poly.nbPoint);

                        break;
                    }
                    }
                    break;
                }

                case 7:
                {
                    Console.WriteLine("---Test de la liste générique CartoObj---");
                    Coordonnees[] cTab = new Coordonnees[4];
                    cTab[0] = new Coordonnees(1, 1);
                    cTab[1] = new Coordonnees(3, 1);
                    cTab[2] = new Coordonnees(3, 3);
                    cTab[3] = new Coordonnees(3, 1);

                    Coordonnees[] cTab2 = new Coordonnees[3];
                    cTab2[0] = new Coordonnees(1, 1);
                    cTab2[1] = new Coordonnees(4, 4);
                    cTab2[2] = new Coordonnees(7, 1);
                    ///J'implémente directement un objet de chaque sorte (hardcodé)
                    List <CartoObj> lCarto = new List <CartoObj>()
                    {
                        new Coordonnees(2.5013, 5.6978), new POI("POIDansListeGénérique",
                                                                 5.697236, 60.348), new Polygon(cTab, Color.Red, Color.Green, 0.5), new Polyline(2, Color.DarkGray, cTab2)
                    };
                    int choix2 = Choix("Afficher la liste complete", "Afficher les objets implémentant IPointy", "Afficher les objets n'implémentant pas IPointy", "Quitter");
                    switch (choix2)
                    {
                    case 1:
                    {
                        Console.WriteLine("---Liste complete---");
                        foreach (CartoObj co in lCarto)
                        {
                            Console.WriteLine(co);
                        }
                        break;
                    }

                    case 2:
                    {
                        Console.WriteLine("---Liste des objets implémentant IPointy---");
                        foreach (CartoObj co in lCarto)
                        {
                            if (co is IPointy)
                            {
                                Console.WriteLine(co);
                            }
                        }
                        break;
                    }

                    case 3:
                    {
                        Console.WriteLine("---Liste des objets n'implémentant pas IPointy---");
                        foreach (CartoObj co in lCarto)
                        {
                            if (!(co is IPointy))
                            {
                                Console.WriteLine(co);
                            }
                        }
                        break;
                    }

                    default:
                        break;
                    }
                    break;
                }

                case 8:
                {
                    Console.WriteLine("---Test de la liste générique Polyline---");
                    List <Polyline> lPoly = new List <Polyline>()
                    {
                        new Polyline(2, Color.White, new Coordonnees[3] {
                                new Coordonnees(2, 3), new Coordonnees(4, 5),
                                new Coordonnees(6, 7)
                            }),
                        new Polyline(1, Color.Red, new Coordonnees[3] {
                                new Coordonnees(0, 0), new Coordonnees(2, 10),
                                new Coordonnees(9, 4)
                            }),
                        new Polyline(3, Color.DarkBlue, new Coordonnees[3] {
                                new Coordonnees(0, 5), new Coordonnees(3, 10),
                                new Coordonnees(3, 5)
                            }),
                        new Polyline(5, Color.Cyan, new Coordonnees[3] {
                                new Coordonnees(5, 1), new Coordonnees(10, 5),
                                new Coordonnees(15, 8)
                            }),
                        new Polyline(9, Color.GreenYellow, new Coordonnees[3] {
                                new Coordonnees(10, 3), new Coordonnees(7, 9),
                                new Coordonnees(5, 1)
                            })
                    };
                    Console.WriteLine("---Affichage de la liste générique de polyline---");
                    foreach (Polyline pol in lPoly)
                    {
                        Console.WriteLine(pol);
                    }
                    ///Tri
                    lPoly.Sort();
                    Console.WriteLine("---Affichage de la liste générique de polyline trié sur leur longueur---");
                    foreach (Polyline pol in lPoly)
                    {
                        Console.WriteLine("Longueur : " + pol.LongueurPolyline().ToString());
                        Console.WriteLine(pol);
                    }
                    lPoly.Sort(new MyPolylineBoundingBoxComparer());
                    Console.WriteLine("---Affichage de la liste générique du polyline trié sur leur surface---");
                    foreach (Polyline po1 in lPoly)
                    {
                        Console.WriteLine("Surface : " + po1.CalculSurface());         ///Temporaire, juste pour vérifier la valeur des surfaces
                        Console.WriteLine(po1);
                    }
                    ConsoleKeyInfo cki;
                    do
                    {
                        Console.WriteLine("Souhaitez-vous tester la fonctionnalité de recherche de polyline ayant la même" +
                                          "surface qu'un polyline de référence (que vous saisirez-vous même) ? [y/n]");
                        cki = Console.ReadKey();
                    } while (cki.Key != ConsoleKey.Y && cki.Key != ConsoleKey.N);
                    if (cki.Key == ConsoleKey.Y)
                    {
                        Console.WriteLine();
                        ///Je ne fais saisir que 3 coordonnées
                        Coordonnees[] lCoordU = new Coordonnees[3];
                        for (int i = 0; i < 3; i++)
                        {
                            lCoordU[i] = new Coordonnees();
                            Console.WriteLine("Veuillez saisir la " + (i + 1) + "e coordonnées ");
                            Console.Write("X = "); lCoordU[i].X = Convert.ToDouble(Console.ReadLine());
                            Console.Write("Y = "); lCoordU[i].Y = Convert.ToDouble(Console.ReadLine());
                        }

                        Polyline        polyU       = new Polyline(10, Color.White, lCoordU);
                        List <Polyline> lPolyResult = lPoly.FindAll(polyU.SurfaceSame);
                        if (lPolyResult.Count > 0)
                        {
                            Console.WriteLine("Polyline possédant la même surface");
                            foreach (Polyline pol in lPolyResult)
                            {
                                Console.WriteLine(polyU.CalculSurface());
                                Console.WriteLine(pol);
                            }
                            Console.WriteLine("Rappel du polyline de référence");
                            Console.WriteLine(polyU.CalculSurface());
                            Console.WriteLine(polyU);
                        }
                        else
                        {
                            Console.WriteLine("Aucun polyline dans la liste ne possède la même surface que le polyline de référence");
                        }
                    }
                    do
                    {
                        Console.WriteLine("Souhaitez-vous tester la fonctionnalité de recherche de polyline " +
                                          "proche d'un point dont vous passez les paramètres ? [y/n]");
                        cki = Console.ReadKey();
                    } while (cki.Key != ConsoleKey.Y && cki.Key != ConsoleKey.N);
                    if (cki.Key == ConsoleKey.Y)
                    {
                        double prec;
                        ///Saisie des coordonnées par l'utilisateur
                        double x, y;
                        Console.Write("X = "); x            = Convert.ToDouble(Console.ReadLine()); Console.WriteLine();
                        Console.Write("Y = "); y            = Convert.ToDouble(Console.ReadLine()); Console.WriteLine();
                        Console.Write("Precision = "); prec = Convert.ToDouble(Console.ReadLine()); Console.WriteLine();
                        ///Recherche d'une certaines proximités avec un des polylines composant la liste
                        List <Polyline> lPolyProche = new List <Polyline>();
                        foreach (Polyline pol in lPoly)
                        {
                            if (pol.IsPointClose(x, y, prec))
                            {
                                lPolyProche.Add(pol);
                            }
                        }
                        if (lPolyProche.Count > 0)
                        {
                            foreach (Polyline pol in lPolyProche)
                            {
                                Console.WriteLine(pol);
                            }
                        }
                        else
                        {
                            Console.WriteLine("Aucun polyline présent dans la liste n'est proche du point rentrée en paramètre");
                        }

                        Console.WriteLine("Rappel des coordonnées : (" + x + "," + y + ")");
                    }


                    break;
                }

                case 9:
                {
                    ///Trier liste d'objet CartObj
                    Console.WriteLine("---Trier une liste d'objet CartObj---");
                    ///Ici les polyline sont un peu hardcodé n'importe comment, je cherche juste a créer plusieurs polyline/polygone
                    ///ayant un nombre de coordonnées différentes afin de tester le tri via la fonction Compare
                    List <CartoObj> lCarto = new List <CartoObj>()
                    {
                        new Polyline(2, Color.White, new Coordonnees[4] {
                                new Coordonnees(2, 3), new Coordonnees(4, 5),
                                new Coordonnees(6, 7), new Coordonnees(0, 5)
                            }),
                        new Polyline(1, Color.Red, new Coordonnees[3] {
                                new Coordonnees(0, 0), new Coordonnees(2, 10),
                                new Coordonnees(9, 4)
                            }),
                        new Polyline(3, Color.DarkBlue, new Coordonnees[6] {
                                new Coordonnees(0, 5), new Coordonnees(3, 10),
                                new Coordonnees(3, 5), new Coordonnees(5, 10), new Coordonnees(15, 20), new Coordonnees(0, 0)
                            }),
                        new Polyline(5, Color.Cyan, new Coordonnees[3] {
                                new Coordonnees(5, 1), new Coordonnees(10, 5),
                                new Coordonnees(15, 8)
                            }),
                        new Polyline(9, Color.GreenYellow, new Coordonnees[3] {
                                new Coordonnees(10, 3), new Coordonnees(7, 9),
                                new Coordonnees(5, 1)
                            }),
                        new Polygon(new Coordonnees[5] {
                                new Coordonnees(0, 0), new Coordonnees(0, 3), new Coordonnees(3, 3), new Coordonnees(2, 5), new Coordonnees(3, 0)
                            }, Color.Red, Color.Black, 1),
                        new Polygon(new Coordonnees[3] {
                                new Coordonnees(0, 0), new Coordonnees(0, 3), new Coordonnees(3, 3)
                            }, Color.Red, Color.Black, 1),
                        new Polygon(new Coordonnees[4] {
                                new Coordonnees(0, 0), new Coordonnees(0, 3), new Coordonnees(3, 3), new Coordonnees(3, 0)
                            }, Color.Red, Color.Black, 1),
                    };
                    Console.WriteLine("Affichage de la liste non trié");
                    foreach (CartoObj co in lCarto)
                    {
                        Console.WriteLine(co.ToString());
                    }
                    Console.WriteLine("Trie de la liste CartoObj");
                    lCarto.Sort(new CartoObjComparer());
                    Console.WriteLine("Affichage de la liste trié");
                    foreach (CartoObj co in lCarto)
                    {
                        Console.WriteLine(co.ToString());
                    }

                    break;
                }

                case 10:
                {
                    Console.WriteLine("Sauvegarde des objets implémentant l'interface ICartoObj");
                    ObservableCollection <ICartoObj> cartoColl = new ObservableCollection <ICartoObj>()
                    {
                        new Polyline(2, Color.White, new Coordonnees[4] {
                                new Coordonnees(2, 3), new Coordonnees(4, 5),
                                new Coordonnees(6, 7), new Coordonnees(0, 5)
                            }),
                        new Polyline(1, Color.Red, new Coordonnees[3] {
                                new Coordonnees(0, 0), new Coordonnees(2, 10),
                                new Coordonnees(9, 4)
                            }),
                        new Polyline(3, Color.DarkBlue, new Coordonnees[6] {
                                new Coordonnees(0, 5), new Coordonnees(3, 10),
                                new Coordonnees(3, 5), new Coordonnees(5, 10), new Coordonnees(15, 20), new Coordonnees(0, 0)
                            }),
                        new Polyline(5, Color.Cyan, new Coordonnees[3] {
                                new Coordonnees(5, 1), new Coordonnees(10, 5),
                                new Coordonnees(15, 8)
                            }),
                        new Polyline(9, Color.GreenYellow, new Coordonnees[3] {
                                new Coordonnees(10, 3), new Coordonnees(7, 9),
                                new Coordonnees(5, 1)
                            }),
                        new Polygon(new Coordonnees[5] {
                                new Coordonnees(0, 0), new Coordonnees(0, 3), new Coordonnees(3, 3), new Coordonnees(2, 5), new Coordonnees(3, 0)
                            }, Color.Red, Color.Black, 1),
                        new Polygon(new Coordonnees[3] {
                                new Coordonnees(0, 0), new Coordonnees(0, 3), new Coordonnees(3, 3)
                            }, Color.Red, Color.Black, 1),
                        new Polygon(new Coordonnees[4] {
                                new Coordonnees(0, 0), new Coordonnees(0, 3), new Coordonnees(3, 3), new Coordonnees(3, 0)
                            }, Color.Red, Color.Black, 1),
                        new POI("TestPOI", 1.2345, 50.2),
                        new POI("POI2", 50.34, -20.3)
                    };
                    MyPersonalMapData mP        = new MyPersonalMapData("Test", "TestP", "TestEm", cartoColl);
                    IFormatter        formatter = new BinaryFormatter();
                    Stream            fStream   = new FileStream("C:/Users/Eric/Desktop/Bloc 2 offline/C#/Ecole/Projet2/LaboC#2.1/fichierTest.csv", FileMode.Create, FileAccess.Write);

                    /*                           foreach (ICartoObj icarto in lCarto)
                     *                         {
                     *                             formatter.Serialize(fStream,icarto);
                     *                         }*/
                    formatter.Serialize(fStream, cartoColl);
                    fStream.Close();
                    Console.WriteLine("Fichier sauvegardé");
                    Console.WriteLine("-------------------Deserialization---------------------");
                    Stream stream = new FileStream("C:/Users/Eric/Desktop/Bloc 2 offline/C#/Ecole/Projet2/LaboC#2.1/fichierTest.csv", FileMode.Open, FileAccess.Read);

                    /* List<ICartoObj> iCartoObjRead = new List<ICartoObj>();
                     * while (stream.CanRead)
                     * {
                     *   iCartoObjRead.Add((ICartoObj)formatter.Deserialize(stream));
                     * }*/
                    MyPersonalMapData readMyPersonalMapData        = new MyPersonalMapData();
                    ObservableCollection <ICartoObj> iCartoObjRead = (ObservableCollection <ICartoObj>)formatter.Deserialize(stream);
                    stream.Close();
                    Console.WriteLine("------------Ajout dans la liste----------");
                    foreach (ICartoObj iCarto in iCartoObjRead)
                    {
                        readMyPersonalMapData.AddCartObj(iCarto);
                    }
                    Console.WriteLine("--------------Lecture----------");

                    foreach (ICartoObj iCarto in readMyPersonalMapData.CartoCollection)
                    {
                        Console.WriteLine(iCarto);
                    }
                    break;
                }

                case 11:
                {
                    Stream            stream                       = new FileStream("C:/Users/Eric/Desktop/Bloc 2 offline/C#/Ecole/Projet2/LaboC#2.1/fichierTest.csv", FileMode.Open, FileAccess.Read);
                    IFormatter        formatter                    = new BinaryFormatter();
                    MyPersonalMapData readMyPersonalMapData        = new MyPersonalMapData();
                    ObservableCollection <ICartoObj> iCartoObjRead = (ObservableCollection <ICartoObj>)formatter.Deserialize(stream);
                    stream.Close();
                    Console.WriteLine("------------Ajout dans la liste----------");
                    foreach (ICartoObj iCarto in iCartoObjRead)
                    {
                        readMyPersonalMapData.AddCartObj(iCarto);
                    }
                    Console.WriteLine("--------------Lecture----------");

                    foreach (ICartoObj iCarto in readMyPersonalMapData.CartoCollection)
                    {
                        Console.WriteLine(iCarto);
                    }
                    break;
                }

                default:
                    fin = true;
                    break;
                }
            }
        }
Пример #22
0
 public FenetrePrincipale(MyPersonalMapData personne)
 {
     PersonneConnectee = personne;
     InitializeComponent();
     TextDebug.Content = PersonneConnectee.ToString();
 }
 public PageLogin()
 {
     InitializeComponent();
     User = new MyPersonalMapData("Delaval", "Kevin");
     CurrentStack.DataContext = User;
 }
Пример #24
0
        static void Main(string[] args)
        {
            /*List<CartoObj> list = new List<CartoObj> { };
             * POI poi1 = new POI();
             * POI poi2 = new POI();
             * Polyline polyline1 = new Polyline();
             * Polyline polyline2 = new Polyline();
             * Polygon polygon1 = new Polygon();
             * Polygon polygon2 = new Polygon();
             *
             * list.Add(poi1);
             * list.Add(poi2);
             * list.Add(polyline1);
             * list.Add(polyline2);
             * list.Add(polygon1);
             * list.Add(polygon2);
             *
             * Console.WriteLine("Afficher cette liste en utilisant le mot clé foreach");
             * foreach(CartoObj c in list)
             * {
             *      c.Draw();
             * }
             *
             * Console.WriteLine("\nAfficher la liste des objets implémentant l’interface IPointy");
             * foreach(CartoObj c in list)
             * {
             *      if(c is IPointy)
             *      {
             *              c.Draw();
             *      }
             * }
             *
             * Console.WriteLine("\nAfficher la liste des objets n’implémentant pas l’interface IPointy");
             * foreach(CartoObj c in list)
             * {
             *      if(!(c is IPointy))
             *      {
             *              c.Draw();
             *      }
             * }
             *
             * Console.WriteLine("\nCréer une liste générique de 5 Polyline, l’afficher");
             * List<Polyline> listePoli = new List<Polyline> { };
             * listePoli.Add(new Polyline(new List<Coordonnees>{new Coordonnees(0,0),new Coordonnees(1,1) },Colors.Black,0));
             * listePoli.Add(new Polyline(new List<Coordonnees>{new Coordonnees(0,0),new Coordonnees(4,5) },Colors.Black,0));
             * listePoli.Add(new Polyline(new List<Coordonnees>{new Coordonnees(0,0),new Coordonnees(1,1) },Colors.Black,0));
             * listePoli.Add(new Polyline(new List<Coordonnees>{new Coordonnees(0,0),new Coordonnees(10,-1) },Colors.Black,0));
             * listePoli.Add(new Polyline(new List<Coordonnees>{new Coordonnees(0,0),new Coordonnees(0,10) },Colors.Black,0));
             *
             * foreach(Polyline p in listePoli)
             * {
             *      p.Draw();
             * }
             *
             * Console.WriteLine("\nla trier par ordre de longueur croissante");
             * listePoli.Sort();
             *
             * Console.WriteLine("\nl’afficher à nouveau");
             * foreach (Polyline p in listePoli)
             * {
             *      p.Draw();
             * }
             *
             * Console.WriteLine("\ntrier la liste par ordre croissant de taille de surface de la bounding box englobant la polyline");
             * MyPolylineBoundingBoxComparer triSurface = new MyPolylineBoundingBoxComparer();
             * listePoli.Sort(triSurface);
             * foreach (Polyline p in listePoli)
             * {
             *      p.Draw();
             * }
             *
             * Console.WriteLine("\nRechercher, parmi les polyline de la liste, celles qui présentent la même taille qu’une polyline de référence");
             * Polyline polyline3 = new Polyline(new List<Coordonnees> { new Coordonnees(0, 0), new Coordonnees(1, 1) }, Colors.Black, 0);
             * Console.WriteLine("Find : {0}", listePoli.Find(x => x.longeur().Equals(polyline3.longeur())));
             *
             * Console.WriteLine("\nRechercher, parmi les polyline de la liste, celles qui sont proches d’un point passé en paramètre");
             * Coordonnees coordonnees1 = new Coordonnees(0, 2);
             * Console.WriteLine("Coordonnees1: " + coordonnees1 + " Precision: 0.5");
             * foreach(Polyline p in listePoli)
             * {
             *      if(p.IsPointClose(coordonnees1,0.5))
             *      {
             *              Console.WriteLine("Le point " + coordonnees1 + " est proche de la listePoli!");
             *      }
             *      else
             *      {
             *              Console.WriteLine("Le point " + coordonnees1 + " n'est pas proche de la listePoli!");
             *      }
             * }
             * Coordonnees coordonnees2 = new Coordonnees(0, 0);
             * Console.WriteLine("Coordonnees1: " + coordonnees2 + " Precision: 1");
             * foreach (Polyline p in listePoli)
             * {
             *      if (p.IsPointClose(coordonnees2, 1))
             *      {
             *              Console.WriteLine("Le point " + coordonnees2 + " est proche de la listePoli!");
             *      }
             *      else
             *      {
             *              Console.WriteLine("Le point " + coordonnees2 + " n'est pas proche de la listePoli!");
             *      }
             * }
             *
             * Console.WriteLine("\nMettre en place et tester un mécanisme qui permet de classer une liste d’objets CartoObj sur base du nombre d’objets Coordonnees qui le compose via un …Comparer.");
             * MyNbCoordonneesComparer triNbCoordonnees = new MyNbCoordonneesComparer();
             * List < CartoObj > list1 = new List<CartoObj> { };
             * list1.Add(new Polyline(new List<Coordonnees> { new Coordonnees(0, 0), new Coordonnees(1, 1),new Coordonnees(2,2) }, Colors.Black, 1));
             * list1.Add(new Polyline(new List<Coordonnees> {new Coordonnees(0,0)},Colors.Black,1));
             * list1.Add(new Polyline(new List<Coordonnees> {new Coordonnees(0,0),new Coordonnees(1,1)},Colors.Black,1));
             * Console.WriteLine("Voici la liste:");
             * foreach(CartoObj c in list1)
             * {
             *      if(c is Polyline)
             *      {
             *              Polyline p1 = c as Polyline;
             *              p1.Draw();
             *      }
             *      if(c is Polygon)
             *      {
             *              Polygon p1 = c as Polygon;
             *              p1.Draw();
             *      }
             * }
             *
             * list1.Sort(triNbCoordonnees);
             *
             * Console.WriteLine("Voici la liste triee:");
             * foreach (CartoObj c in list1)
             * {
             *      if (c is Polyline)
             *      {
             *              Polyline p1 = c as Polyline;
             *              p1.Draw();
             *      }
             *      if (c is Polygon)
             *      {
             *              Polygon p1 = c as Polygon;
             *              p1.Draw();
             *      }
             * }*/

            //Tester MyPersonalMapData

            /*MyPersonalMapData mapData = new MyPersonalMapData("Gerard","Vincent","*****@*****.**",new ObservableCollection<ICartoObj> { });
             * Polyline poly = new Polyline(new List<Coordonnees> { new Coordonnees(0,0),new Coordonnees(1,1)},Colors.Black,1);
             * Polygon polygon = new Polygon(new List<Coordonnees> { new Coordonnees(3,3)},Colors.Black,Colors.Black,1);
             * mapData.ObservableCollection.Add(poly);
             * mapData.ObservableCollection.Add(polygon);
             * mapData.Draw();
             * mapData.Save();*/

            MyPersonalMapData mapdata = new MyPersonalMapData();

            mapdata.Load("Vincent", "Gerard");
            Console.WriteLine(mapdata);
            foreach (ICartoObj i in mapdata.ObservableCollection)
            {
                if (i is POI)
                {
                    POI p = i as POI;
                    Console.Write("POI: ");
                    Console.WriteLine(p);
                }
                if (i is Polyline)
                {
                    Polyline p = i as Polyline;
                    Console.Write("POLYLINE: ");
                    Console.WriteLine(p);

                    foreach (Coordonnees c in p.Collection)
                    {
                        Console.Write("\t\t -");
                        Console.WriteLine(c);
                    }
                }
                if (i is Polygon)
                {
                    Polygon p = i as Polygon;
                    Console.Write("POLYGON: ");
                    Console.WriteLine(p);
                    foreach (Coordonnees c in p.Collection)
                    {
                        Console.Write("\t\t-");
                        Console.WriteLine(c);
                    }
                }
            }


            Console.ReadLine();
        }
Пример #25
0
        static void Main(string[] args)
        {
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("---------créer et afficher 2 objets de chaque sorte---------");
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("------------------COORDONNEES------------------");
            Coordonnees C1 = new Coordonnees();

            Console.WriteLine("Constructeur par defaut de Coordonnees : C1");
            Console.WriteLine(C1.ToString());
            Console.WriteLine("Methode DRAW");
            C1.Draw();

            Console.WriteLine("C1 lat = 1, long = 1");
            C1.Latitude  = 1;
            C1.Longitude = 1;
            Console.WriteLine(C1.ToString());
            Console.WriteLine("Methode DRAW");
            C1.Draw();

            Coordonnees C2 = new Coordonnees(1, 2);

            Console.WriteLine("Constructeur initialisation Coordonnees : C2(1, 2)");
            Console.WriteLine(C2.ToString());
            Console.WriteLine("Methode DRAW");
            C2.Draw();

            bool returnIsPointClose;

            Console.WriteLine("IsPointClose entre C1(lat/long) : " + C1.Latitude + "/" + C1.Longitude + " et C2(lat/long) : " + C2.Latitude + " / " + C2.Longitude);
            Console.WriteLine("Precision = 1.0");
            returnIsPointClose = C1.IsPointClose(C2, 1.0);
            if (returnIsPointClose)
            {
                Console.WriteLine("Point proche...");
            }
            else
            {
                Console.WriteLine("Point pas proche...");
            }

            Console.WriteLine("IsPointClose entre C1(lat/long) : " + C1.Latitude + "/" + C1.Longitude + " et C2(lat/long) : " + C2.Latitude + " / " + C2.Longitude);
            Console.WriteLine("Precision = 0.1");
            returnIsPointClose = C1.IsPointClose(C2, 0.1);
            if (returnIsPointClose)
            {
                Console.WriteLine("Point proche...");
            }
            else
            {
                Console.WriteLine("Point pas proche...");
            }

            Console.WriteLine("------------------POI------------------");
            POI Sraing = new POI();

            Console.WriteLine(Sraing.ToString());
            Console.WriteLine("Latitude" + Sraing.Latitude);
            Console.WriteLine("Longitude" + Sraing.Longitude);
            Console.WriteLine("Methode DRAW");
            Sraing.Draw();

            Console.WriteLine("IsPointClose entre Sraing(lat/long) : " + Sraing.Latitude + "/" + Sraing.Longitude + " et C2(lat/long) : " + C2.Latitude + " / " + C2.Longitude);
            Console.WriteLine("Precision = 100");
            returnIsPointClose = Sraing.IsPointClose(C2, 100);
            if (returnIsPointClose)
            {
                Console.WriteLine("Point proche...");
            }
            else
            {
                Console.WriteLine("Point pas proche...");
            }

            Console.WriteLine("IsPointClose entre Sraing(lat/long) : " + Sraing.Latitude + "/" + Sraing.Longitude + " et C2(lat/long) : " + C2.Latitude + " / " + C2.Longitude);
            Console.WriteLine("Precision = 10");
            returnIsPointClose = Sraing.IsPointClose(C2, 10);
            if (returnIsPointClose)
            {
                Console.WriteLine("Point proche...");
            }
            else
            {
                Console.WriteLine("Point pas proche...");
            }

            Console.WriteLine("------------------POLYLINE------------------");
            List <Coordonnees> tabCoordonnees = new List <Coordonnees>();

            tabCoordonnees.Add(C1);
            tabCoordonnees.Add(C2);
            Polyline P1 = new Polyline(tabCoordonnees, Colors.Red, 5);

            Console.WriteLine("Polyline avec C1 et C2, red, 5...");
            Console.WriteLine(P1);
            Console.WriteLine("Methode DRAW");
            P1.Draw();

            Polyline P2 = new Polyline();

            Console.WriteLine("Polyline constructeur par defaut");
            Console.WriteLine(P2.ToString());

            Console.WriteLine("Polyline nbr de coordonnees differentes : ");
            Console.WriteLine("P2: ");
            Console.WriteLine(P2.GetNbPoints());
            Console.WriteLine("P1: ");
            Console.WriteLine(P1.GetNbPoints());
            Console.WriteLine("P1 --> changement de coordonnees : Coordonnees[] tabCoordonnees2 = { C1, C2, C1 };");
            List <Coordonnees> tabCoordonnees2 = new List <Coordonnees>();

            tabCoordonnees2.Add(C1);
            tabCoordonnees2.Add(C2);
            tabCoordonnees2.Add(C1);
            P1.CollectionDeCoordonnes = tabCoordonnees2;
            Console.WriteLine("P1: ");
            Console.WriteLine(P1.GetNbPoints());

            Console.WriteLine("Polyline P3 avec comme coordonnees (lat,long): (1,1) / (2,3) / (3,1)");
            List <Coordonnees> triangle = new List <Coordonnees>();

            triangle.Add(new Coordonnees(1, 1));
            triangle.Add(new Coordonnees(2, 3));
            triangle.Add(new Coordonnees(3, 1));
            Polyline    P3        = new Polyline(triangle, Colors.Green, 1);
            Coordonnees pointEN22 = new Coordonnees(2, 2);

            Console.WriteLine("IsPointClose entre P3 et pointEN22 (lat/long) : " + pointEN22.Latitude + " / " + pointEN22.Longitude);
            Console.WriteLine("Precision = 0.5");
            returnIsPointClose = P3.IsPointClose(pointEN22, 0.5);
            if (returnIsPointClose)
            {
                Console.WriteLine("Point proche...");
            }
            else
            {
                Console.WriteLine("Point pas proche...");
            }

            Console.WriteLine("Meme IsPointClose MAIS avec une precision de 1.0");
            returnIsPointClose = P3.IsPointClose(pointEN22, 1);
            if (returnIsPointClose)
            {
                Console.WriteLine("Point proche...");
            }
            else
            {
                Console.WriteLine("Point pas proche...");
            }

            Polyline droiteTest = new Polyline();

            droiteTest.CollectionDeCoordonnes.Add(new Coordonnees(1, 1));
            droiteTest.CollectionDeCoordonnes.Add(new Coordonnees(4, 2));
            Console.WriteLine("Coordonnées de la droite : ");
            droiteTest.Draw();
            Console.WriteLine("IsPointClose avec cette droite : avec 2,2 et une precision de 1");
            Console.WriteLine("return de isPointClose : {0}", droiteTest.IsPointClose(new Coordonnees(2, 2), 1.0));
            Console.WriteLine();
            Console.WriteLine("IsPointClose avec cette droite : {0} avec 2,3 et une precision de 1", droiteTest.ToString());
            Console.WriteLine("return de isPointClose : {0}", droiteTest.IsPointClose(new Coordonnees(2, 3), 1.0));


            Console.WriteLine("------------------POLYGON------------------");
            Polygon PN1 = new Polygon(tabCoordonnees, Colors.BurlyWood, Colors.Transparent, 0.5);

            Console.WriteLine("Polygon avec C1 et C2, couleur remplissage=BurlyWood, couleur de contour=Transparent, opacite = 0.5");
            Console.WriteLine(PN1);
            Console.WriteLine("Methode DRAW");
            PN1.Draw();

            Console.WriteLine("set de opacite à 10 (interdit)");
            PN1.Opacite = 10;
            Console.WriteLine("nouvelle valeur de opacite : " + PN1.Opacite);

            Console.WriteLine("constructeur avec opacite à -1 (interdit)");
            Polygon PN3 = new Polygon(tabCoordonnees, Colors.BurlyWood, Colors.Transparent, -1);

            Console.WriteLine(PN3);

            Polygon PN2 = new Polygon();

            Console.WriteLine("Polygon constructeur par defaut");
            Console.WriteLine(PN2);
            Console.WriteLine("Methode DRAW");
            PN2.Draw();

            Console.WriteLine("Polygon nbr de coordonnees differentes : ");
            Console.WriteLine("PN2: ");
            Console.WriteLine(PN2.GetNbPoints());
            Console.WriteLine("PN1: ");
            Console.WriteLine(PN1.GetNbPoints());
            Console.WriteLine("PN1 --> changement de coordonnees : Coordonnees[] tabCoordonnees3 = { C1, C2, C1, new Coordonnees(19, 9) };");
            List <Coordonnees> tabCoordonnees3 = new List <Coordonnees>();

            tabCoordonnees3.Add(C1);
            tabCoordonnees3.Add(C2);
            tabCoordonnees3.Add(C1);
            tabCoordonnees3.Add(new Coordonnees(19, 9));
            PN1._collectionDeCoordonnees = tabCoordonnees3;
            Console.WriteLine("PN1: ");
            Console.WriteLine(PN1.GetNbPoints());

            Console.WriteLine("Polygon PNtriangle avec comme coordonnees (lat,long): (1,1) / (2,3) / (3,1)");
            Polygon     PNtriangle = new Polygon(triangle, Colors.DarkRed, Colors.Blue, 50.0);
            Coordonnees pointEN42  = new Coordonnees(4, 2);

            Console.WriteLine("IsPointClose entre PNtriangle et pointEN42 (lat/long) : " + pointEN42.Latitude + " / " + pointEN42.Longitude);
            Console.WriteLine("Precision = 1.0");
            returnIsPointClose = PNtriangle.IsPointClose(pointEN42, 1.0);
            if (returnIsPointClose)
            {
                Console.WriteLine("Point proche...");
            }
            else
            {
                Console.WriteLine("Point pas proche...");
            }

            Console.WriteLine("IsPointClose entre PNtriangle et pointEN22 (lat/long) : " + pointEN22.Latitude + " / " + pointEN22.Longitude);
            Console.WriteLine("Precision = 1.0");
            returnIsPointClose = PNtriangle.IsPointClose(pointEN22, 1.0);
            if (returnIsPointClose)
            {
                Console.WriteLine("Point proche...");
            }
            else
            {
                Console.WriteLine("Point pas proche...");
            }

            Console.WriteLine("-------------------------------------------------------------------------------------------------------");
            Console.WriteLine("---------ajouter ses objets dans une liste générique d'objet de type CartoOjb (List<CartoObj>)---------");
            Console.WriteLine("-------------------------------------------------------------------------------------------------------");
            List <CartoObj> listeDeCartoObj = new List <CartoObj>();

            listeDeCartoObj.Add(C1);
            listeDeCartoObj.Add(C2);
            listeDeCartoObj.Add(Sraing);
            listeDeCartoObj.Add(P1);
            listeDeCartoObj.Add(P2);
            listeDeCartoObj.Add(PN1);
            listeDeCartoObj.Add(PN2);
            listeDeCartoObj.Add(PN3);

            Console.WriteLine();
            Console.WriteLine("----------------------------------------------------------------------");
            Console.WriteLine("---------afficher cette liste en utilisant le mot clé foreach---------");
            Console.WriteLine("----------------------------------------------------------------------");
            int i = 0;

            foreach (CartoObj o in listeDeCartoObj)
            {
                Console.Write("Elm[{0}]", i);
                o.Draw();
                Console.WriteLine();
                i++;
            }

            Console.WriteLine();
            Console.WriteLine("-------------------------------------------------------------------------------");
            Console.WriteLine("---------afficher la liste des objets implémentant l'interface IPointy---------");
            Console.WriteLine("-------------------------------------------------------------------------------");
            i = 0;
            foreach (CartoObj o in listeDeCartoObj)
            {
                if (o is IPointy)
                {
                    Console.Write("Elm[{0}]", i);
                    i++;
                    o.Draw();
                    Console.WriteLine();
                }
            }

            Console.WriteLine();
            Console.WriteLine("-----------------------------------------------------------------------------------------");
            Console.WriteLine("---------afficher la liste des objets qui n'implémentent pas l'interface IPointy---------");
            Console.WriteLine("-----------------------------------------------------------------------------------------");
            i = 0;
            foreach (CartoObj o in listeDeCartoObj)
            {
                if (!(o is IPointy))
                {
                    Console.Write("Elm[{0}]", i);
                    i++;
                    o.Draw();
                    Console.WriteLine();
                }
            }

            Console.WriteLine();
            Console.WriteLine("---------------------------------------------------------------------");
            Console.WriteLine("---------Créer une liste générique de 5 Polyline, l’afficher---------");
            Console.WriteLine("---------------------------------------------------------------------");
            List <Polyline> listeGeneriquePolyline = new List <Polyline>();

            listeGeneriquePolyline.Add(P1);
            P2.CollectionDeCoordonnes = tabCoordonnees3;
            listeGeneriquePolyline.Add(P2);
            listeGeneriquePolyline.Add(P3);
            listeGeneriquePolyline.Add(new Polyline(tabCoordonnees, Colors.Black, 19));

            i = 0;
            foreach (Polyline P in listeGeneriquePolyline)
            {
                Console.WriteLine("listeGeneriquePolyline[{0}]", i);
                P.Draw();
                Console.WriteLine();
                i++;
            }

            Console.WriteLine();
            Console.WriteLine("-----------------------------------------------------------------------------------");
            Console.WriteLine("---------la trier par ordre de longueur croissante1 , l’afficher à nouveau---------");
            Console.WriteLine("-----------------------------------------------------------------------------------");
            listeGeneriquePolyline.Sort();
            i = 0;
            foreach (Polyline P in listeGeneriquePolyline)
            {
                Console.WriteLine("listeGeneriquePolyline[{0}]", i);
                Console.WriteLine("longueur totale : {0}", P.longueurPolyline());
                P.Draw();
                Console.WriteLine();
                i++;
            }



            Console.WriteLine();
            Console.WriteLine("-------------------------------------------------------------------------------------------------");
            Console.WriteLine("---------la trier par ordre croissante de surface de bounding box , l’afficher à nouveau---------");
            Console.WriteLine("-------------------------------------------------------------------------------------------------");
            MyPolylineBoundingBoxComparer triParSurface = new MyPolylineBoundingBoxComparer();

            listeGeneriquePolyline.Sort(triParSurface);
            i = 0;
            foreach (Polyline P in listeGeneriquePolyline)
            {
                Console.WriteLine("listeGeneriquePolyline[{0}]", i);
                Console.WriteLine("surface : {0}", P.surfaceBoundingBox());
                P.Draw();
                Console.WriteLine();
                i++;
            }

            Console.WriteLine("Find P1 ? {0}", listeGeneriquePolyline.Find(x => x.Id == P1.Id));

            Console.WriteLine();
            Console.WriteLine("-------------------------------------------------------------------------------------------------------------------");
            Console.WriteLine("---------la trier par ordre croissante de nombre d'objet (différent) de coordonnees , l’afficher à nouveau---------");
            Console.WriteLine("-------------------------------------------------------------------------------------------------------------------");
            NbrCoordonneesComparer triParNbrDeCoordonnees = new NbrCoordonneesComparer();

            listeGeneriquePolyline.Sort(triParNbrDeCoordonnees);
            i = 0;
            foreach (Polyline P in listeGeneriquePolyline)
            {
                Console.WriteLine("listeGeneriquePolyline[{0}]", i);
                Console.WriteLine("nbr de coordonnees differentes : {0}", P.GetNbPoints());
                P.Draw();
                Console.WriteLine();
                i++;
            }


            Console.WriteLine();
            Console.WriteLine("-----------------------------------");
            Console.WriteLine("---------MyPersonalMapData---------");
            Console.WriteLine("-----------------------------------");

            //MyPersonalMapData TestmyPersonalMapData = new MyPersonalMapData();
            //Console.WriteLine("MyPersonalMapData : constructeur par defaut");
            //Console.WriteLine(TestmyPersonalMapData.ToString());

            //Console.WriteLine("\nConstructeur avec paramètres...");
            //string nom;
            //Console.Write("Saisir votre nom : "); nom = Console.ReadLine();
            //string prenom;
            //Console.Write("Saisir votre prenom : "); prenom = Console.ReadLine();
            //string email;
            //Console.Write("Saisir votre email : "); email = Console.ReadLine();


            ObservableCollection <ICartoObj> newObservableCollectionCartoObj = new ObservableCollection <ICartoObj>();

            newObservableCollectionCartoObj.Add(Sraing);
            newObservableCollectionCartoObj.Add(P1);
            newObservableCollectionCartoObj.Add(PNtriangle);
            MyPersonalMapData Test2myPersonalMapData = new MyPersonalMapData("zeevaert", "arnaud", "*****@*****.**", newObservableCollectionCartoObj);

            Console.WriteLine("MyPersonalMapData : new MyPersonalMapData(zeevaert, arnaud, [email protected], listeDeCartoObj);");
            Console.WriteLine(Test2myPersonalMapData.ToString());



            //newObservableCollectionCartoObj.ge



            string inutile;



            inutile = Console.ReadLine();
        }
Пример #26
0
        static void Main(string[] args)
        {
            #region DECLARATION
            Coordonnees c    = new Coordonnees(150, 120);
            Coordonnees cDef = new Coordonnees();

            POI poi    = new POI(125, 38, "Test");
            POI poiDef = new POI();

            List <Coordonnees> maliste = new List <Coordonnees>();
            {
                maliste.Add(c);
                maliste.Add(cDef);
            }
            Polyline pl    = new Polyline(maliste, Color.FromRgb(255, 0, 0), 17);
            Polyline plDef = new Polyline();

            Polygon pg    = new Polygon("", Colors.Red, Colors.Blue, 0, maliste);
            Polygon pgDef = new Polygon();

            List <CartoObj> listeCO = new List <CartoObj>()
            {
                c, cDef, poi, poiDef, pl, plDef, pg, pgDef
            };

            // Polyline
            List <Coordonnees> listCD2 = new List <Coordonnees>();
            {
                listCD2.Add(new Coordonnees(6, 9));
                listCD2.Add(new Coordonnees(7, 2));
            }
            List <Coordonnees> listCD4 = new List <Coordonnees>();
            {
                listCD4.Add(new Coordonnees(8, 4));
                listCD4.Add(new Coordonnees(3, 0));
                listCD4.Add(new Coordonnees(2, 9));
            }
            List <Coordonnees> listCD5 = new List <Coordonnees>();
            {
                listCD5.Add(new Coordonnees(8, 3));
                listCD5.Add(new Coordonnees(3, 3));
                listCD5.Add(new Coordonnees(5, 7));
            }
            Polyline pl1 = new Polyline();
            Polyline pl2 = new Polyline(listCD2, Colors.Aqua, 5);
            Polyline pl3 = new Polyline();
            Polyline pl4 = new Polyline(listCD4, Colors.Red, 7);
            Polyline pl5 = new Polyline(listCD5, Colors.Green, 9);

            List <Polyline> listePL = new List <Polyline>()
            {
                pl1, pl2, pl3, pl4, pl5
            };

            MyPersonalMapData mdataDef = new MyPersonalMapData();
            mdataDef.OcICartoObj.Add(poiDef);             // plante
            mdataDef.OcICartoObj.Add(pgDef);
            mdataDef.OcICartoObj.Add(plDef);

            Polygon prout = new Polygon("", Colors.RosyBrown, Colors.Teal, 15, listCD4);
            ObservableCollection <ICartoObj> OCtest = new ObservableCollection <ICartoObj>();
            {
                OCtest.Add(prout);
                OCtest.Add(pl2);
                OCtest.Add(poiDef);
            }
            MyPersonalMapData mdata = new MyPersonalMapData("Jooris", "Yannick", "*****@*****.**", OCtest);
            // test depuis le 15/04
            Polyline pl10 = new Polyline(Colors.White, 10);
            Polyline pl11 = new Polyline(Colors.Blue, 11);

            #endregion

            #region TESTS
            bool           exit = false;
            ConsoleKeyInfo choix;

            while (!exit)
            {
                PrintMenu();
                choix = Console.ReadKey();
                Console.Clear();
                switch (choix.Key)
                {
                case ConsoleKey.D1:
                    #region TEST 01
                    Console.WriteLine("Test Coordonnées: ");
                    Console.WriteLine(c.ToString());
                    Console.WriteLine(cDef.ToString());
                    Console.ReadKey();
                    Console.Clear();

                    Console.WriteLine("Test POI: ");
                    Console.WriteLine(poi.ToString());
                    Console.WriteLine(poiDef.ToString());
                    Console.ReadKey();
                    Console.Clear();

                    Console.WriteLine("Test Polyline: ");
                    pl.Draw();
                    plDef.Draw();
                    Console.ReadKey();
                    Console.Clear();

                    Console.WriteLine("Test Polygon: ");
                    pg.Draw();
                    pgDef.Draw();
                    Console.ReadKey();
                    Console.Clear();
                    #endregion
                    break;

                case ConsoleKey.D2:
                    #region TEST 02
                    Console.WriteLine("Liste générique d'objets CartoObjs: ");

                    foreach (CartoObj co in listeCO)
                    {
                        co.Draw();
                    }
                    Console.ReadKey();
                    Console.Clear();

                    Console.WriteLine("Objets implémentant IPointy: ");
                    foreach (CartoObj co in listeCO)
                    {
                        if (co is IPointy)
                        {
                            Console.WriteLine(co.ToString() + "\n");
                        }
                    }
                    Console.ReadKey();
                    Console.Clear();

                    Console.WriteLine("Objets n'implémentant pas IPointy: ");
                    foreach (CartoObj co in listeCO)
                    {
                        if (!(co is IPointy))
                        {
                            Console.WriteLine(co.ToString() + "\n");
                        }
                    }
                    Console.ReadKey();
                    Console.Clear();
                    #endregion
                    break;

                case ConsoleKey.D3:
                    #region TEST 03
                    Console.WriteLine("Liste générique de 5 objets Polyline: ");
                    foreach (Polyline polyline in listePL)
                    {
                        polyline.Draw();
                    }
                    Console.ReadKey();
                    Console.Clear();

                    Console.WriteLine("Tri par ordre croissant de longueur:");
                    listePL.Sort();
                    foreach (Polyline polyline in listePL)
                    {
                        polyline.Draw();
                    }
                    Console.ReadKey();
                    Console.Clear();

                    Console.WriteLine("Tri par ordre croissant de surface:");
                    MyPolylineBoundingBoxComparer polylineCmp = new MyPolylineBoundingBoxComparer();
                    listePL.Sort(polylineCmp);
                    foreach (Polyline polyline in listePL)
                    {
                        polyline.Draw();
                    }
                    Console.ReadKey();
                    Console.Clear();
                    #endregion
                    break;

                case ConsoleKey.D4:
                    #region TEST 04
                    Console.WriteLine("Comparaison à un Polyline de référence:");
                    listePL.Add(pl2);
                    foreach (Polyline polyline in listePL.FindAll(cmp => cmp.Equals(pl1)))
                    {
                        Console.WriteLine(polyline.ToString());
                    }
                    listePL.Remove(pl2);
                    Console.ReadKey();
                    Console.Clear();

                    Console.WriteLine("Polylines proches d'un point passé en paramètre:");
                    foreach (Polyline polyline in listePL)
                    {
                        if (polyline.IsPointClose(5, 5, 2))
                        {
                            Console.WriteLine(polyline.ToString());
                        }
                    }
                    Console.ReadKey();
                    Console.Clear();
                    #endregion
                    break;

                case ConsoleKey.D5:
                    #region TEST 05
                    Console.WriteLine("Mécanisme qui trie une liste de CartoObjs selon le nombre de coordonnées:");
                    foreach (CartoObj co in listeCO)
                    {
                        Console.WriteLine(co.ToString() + "\n");
                    }
                    Console.ReadKey();
                    Console.Clear();
                    MyNombreCoordonneesComparer ncComparer = new MyNombreCoordonneesComparer();
                    listeCO.Sort(ncComparer);
                    foreach (CartoObj co in listeCO)
                    {
                        Console.WriteLine(co.ToString() + "\n");
                    }
                    #endregion
                    break;

                case ConsoleKey.D6:
                    #region TEST 06
                    Console.WriteLine("Test d'objets MyPersonalMapData et de leurs méthodes");
                    Console.WriteLine(mdataDef.ToString() + "\n");
                    Console.WriteLine(mdata.ToString());
                    Console.ReadKey();
                    //Console.Clear();
                    Console.WriteLine("Test BinaryFormatter (save)");
                    Console.WriteLine("Saving...");
                    mdata.Save(@"C:\Users\Yannick\OneDrive\Prog\mapdata.dat");
                    Console.WriteLine("Done!");
                    Console.ReadKey();
                    //Console.Clear();
                    Console.WriteLine("Test BinaryFormatter (load)");
                    MyPersonalMapData fromfile = new MyPersonalMapData("Jooris", "Yannick", "3");
                    Console.WriteLine("Loading...");
                    fromfile.Load(@"C:\Users\Yannick\OneDrive\Prog\mapdata.dat");
                    Console.WriteLine("Done!");
                    Console.WriteLine(fromfile.ToString());
                    Console.ReadKey();
                    #endregion
                    break;

                case ConsoleKey.D7:
                    #region TEST 07
                    Console.WriteLine("Resultat CompareTo: " + pl10.CompareTo(pl11));
                    Console.ReadKey();
                    #endregion
                    break;

                case ConsoleKey.D8:
                    #region TEST 08
                    Console.ReadKey();
                    #endregion
                    break;

                case ConsoleKey.Escape:
                    exit = true;
                    break;
                }
            }
            #endregion
        }
 public ChangeUserWindow(MyPersonalMapData user)
 {
     InitializeComponent();
     User = user;
 }
Пример #28
0
        private void QuitterSauvegarde()
        {
            MyPersonalMapData personneTMP = null;
            bool modif = true;

            if (DossierDeTravail != null && PersonneConnectee.Emplacement == null)
            {
                PersonneConnectee.Emplacement = DossierDeTravail;
            }

            if (PersonneConnectee.Emplacement != null)
            {
                try
                {
                    personneTMP = MyPersonalMapData.LoadFile(PersonneConnectee.Emplacement);
                }
                catch (LoadSaveException messageErreurLoadFile)
                {
                    //MessageBox.Show("ERREUR OUVERTURE", messageErreurLoadFile.Message, MessageBoxButton.OK, MessageBoxImage.Error);
                    Console.WriteLine("(QuitterSauvegarde) ERREUR OUVERTURE : " + messageErreurLoadFile.Message);
                    personneTMP = null;
                }

                if (personneTMP != null)
                {
                    if (personneTMP.ObservableCollection.Equals(PersonneConnectee.ObservableCollection))
                    {
                        modif = false;
                    }
                }
            }

            if (modif)
            {
                MessageBoxResult resultNewClient = MessageBox.Show("Voulez-vous sauvegarder vos modifications ?", "", MessageBoxButton.YesNo, MessageBoxImage.Question);
                switch (resultNewClient)
                {
                case MessageBoxResult.Yes:
                    try
                    {
                        personneTMP = MyPersonalMapData.SavePersonne(PersonneConnectee, PersonneConnectee.Emplacement);
                    }
                    catch (LoadSaveException messageErreurSave)
                    {
                        MessageBox.Show(messageErreurSave.Message, "ERREUR SAUVEGARDE", MessageBoxButton.OK, MessageBoxImage.Error);
                        personneTMP = null;
                    }
                    if (personneTMP != null)
                    {
                        PersonneConnectee = personneTMP;
                        MessageBox.Show("SAUVEGARDE REUSSIE", "", MessageBoxButton.OK, MessageBoxImage.Information);
                        this.Close();
                    }
                    break;

                    /*case MessageBoxResult.No:
                     *
                     *  break;*/
                }
            }
            else
            {
                this.Close();
            }
        }
Пример #29
0
 public FenetrePrincipale(MyPersonalMapData personne)
 {
     InitializeComponent();
     PersonneConnectee = personne;
 }
Пример #30
0
 public FenetrePrincipale()
 {
     InitializeComponent();
     PersonneConnectee = new MyPersonalMapData();
 }