コード例 #1
0
        public static void readCSVtrajet(MyPersonalMapData personne, string cheminDacces)
        {
            Polyline trajet = new Polyline();

            try
            {
                string[] fichier = System.IO.File.ReadAllLines(cheminDacces);

                for (int i = 0; i < fichier.Length; i++)
                {
                    Console.WriteLine("DEBUG line = " + fichier[i]);
                    string[] donnees;
                    donnees = fichier[i].Split(';');

                    if (donnees.Length == 3)
                    {
                        //pour supprimer le retour à la ligne dans l'éventuelle description de POI
                        Console.WriteLine("DEBUG : nom du poi contient un retour de ligne : -" + donnees[2] + "-");

                        string nomSansRetourAlaLigne = "";
                        foreach (char c in donnees[2])
                        {
                            if (c != '\n' && c != '\r' && c != '\t')
                            {
                                nomSansRetourAlaLigne += c.ToString();
                            }
                            else
                            {
                                break;
                            }
                        }
                        donnees[2] = nomSansRetourAlaLigne;
                        Console.WriteLine("DEBUG : apres remove : -" + donnees[2] + "-");


                        trajet.CollectionDeCoordonnes.Add(new POI(Convert.ToDouble(donnees[0]), Convert.ToDouble(donnees[1]), donnees[2]));
                    }
                    else
                    {
                        trajet.CollectionDeCoordonnes.Add(new POI(Convert.ToDouble(donnees[0]), Convert.ToDouble(donnees[1]), ""));
                    }
                }
                trajet.NomTrajet = Path.GetFileNameWithoutExtension(cheminDacces);
                personne.ObservableCollection.Add(trajet);
            }
            catch (Exception e)
            {
                throw new CSVexception("error readCSVtrajet : " + e.Message);
            }
        }
コード例 #2
0
        public static MyPersonalMapData LoadFile(string cheminDacces)
        {
            MyPersonalMapData ret_val = new MyPersonalMapData();;

            try
            {
                if (cheminDacces.Contains(".az"))
                {
                    if (File.Exists(cheminDacces))
                    {
                        BinaryFormatter binFormat = new BinaryFormatter();
                        try
                        {
                            Stream fStream = new FileStream(cheminDacces, FileMode.Open, FileAccess.Read);
                            if (fStream == null)
                            {
                                throw new LoadSaveException("LoadFile fStream == null");
                            }
                            ret_val.Prenom      = (string)binFormat.Deserialize(fStream);
                            ret_val.Nom         = (string)binFormat.Deserialize(fStream);
                            ret_val.Email       = (string)binFormat.Deserialize(fStream);
                            ret_val.Emplacement = cheminDacces;
                            ret_val.SETObservableCollection((ObservableCollection <ICartoObj>)binFormat.Deserialize(fStream));
                            fStream.Close();
                        }
                        catch (Exception e)
                        {
                            throw new LoadSaveException("LoadFile (try/catch de fStream) : Erreur : " + e.Message);
                        }
                    }
                    else
                    {
                        throw new LoadSaveException("LoadFile : le répertoire : " + cheminDacces + " n existe pas !!!");
                    }
                }
                else
                {
                    throw new LoadSaveException("LoadFile : nom de fichier invlaide !!! --> " + cheminDacces);
                }
            }
            catch (Exception e)
            {
                throw new LoadSaveException("LoadFile : Erreur : " + e.Message);
            }
            return(ret_val);
        }
コード例 #3
0
        //INPUT :   un objet MyPersonalMapData a suauvegarder, l'emplacement de la sauvegarde (chemin d'accès avec nom de fichier)
        //PROCESS : sauvegarde MyPersonalMapData passé en paramètre à l'emplacement spécifie
        //          si path = null --> on sauvegarde uniquement à l'emplacement par défaut
        //          si path est différent de l'emplacement par défaut, on sauvagarde à l'emplacement spécifié + l'emplacement par défaut
        public static MyPersonalMapData SavePersonne(MyPersonalMapData personneAsauvegardee, string path = null)
        {
            MyPersonalMapData ret_val = null;
            string            nomFichier, directoryPath, emplacementSauvegrade = @"../../../sauvegarde/", emplacementVersionPrecedente = @"../../../sauvegarde/versionsPrecedentes/";

            nomFichier = personneAsauvegardee.Nom + personneAsauvegardee.Prenom + ".az";
            if (path != null)
            {
                try
                {
                    //nomFichier = Path.GetFileName(path);
                    directoryPath = Path.GetDirectoryName(path);
                    path          = Path.Combine(directoryPath, nomFichier);
                }
                catch (Exception e)
                {
                    throw new LoadSaveException("SavePersonne (nomDeFichier/directoryPath) : " + e.Message);
                }
            }
            else
            {
                directoryPath = emplacementSauvegrade;
                path          = emplacementSauvegrade + nomFichier;
            }

            emplacementSauvegrade += nomFichier;
            Console.WriteLine("DEBUG : nom du fichier : {0} --- path : {1} --- emplacementSauvegarde : {2}", nomFichier, path, emplacementSauvegrade);

            try
            {
                if (File.Exists(path))
                {
                    try
                    {
                        deplacementFichier(path, emplacementVersionPrecedente);
                    }
                    catch (LoadSaveException deplacementFichierMessage)
                    {
                        throw new LoadSaveException(deplacementFichierMessage.Message);
                    }
                }
                if (File.Exists(emplacementSauvegrade))
                {
                    try
                    {
                        deplacementFichier(emplacementSauvegrade, emplacementVersionPrecedente);
                    }
                    catch (LoadSaveException deplacementFichierMessage)
                    {
                        throw new LoadSaveException(deplacementFichierMessage.Message);
                    }
                }
            }
            catch (Exception e)
            {
                throw new LoadSaveException("un fichier au nom de cette personne existe déja, la suppression de l'ancien fichier à échouée:\n" + e.Message);
            }



            //if (nomDeFichierIncluDansL_Emplacement) nomFichier = emplacement;
            //else nomFichier = emplacement + @"\" + personneAsauvegardee.Prenom + personneAsauvegardee.Nom + ".az";

            try
            {
                BinaryFormatter binFormat = new BinaryFormatter();
                Stream          fStream   = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None);
                binFormat.Serialize(fStream, personneAsauvegardee.Prenom);
                binFormat.Serialize(fStream, personneAsauvegardee.Nom);
                binFormat.Serialize(fStream, personneAsauvegardee.Email);
                binFormat.Serialize(fStream, personneAsauvegardee.ObservableCollection);
                fStream.Close();

                if (!File.Exists(emplacementSauvegrade))
                {
                    Console.WriteLine("DEBUG : copie du fichier dans : D:/C#projets/ARNAUD_ZEEVAERT_2226/sauvegarde si ce n'est déja pas l'emplacement actuel");
                    File.Copy(path, emplacementSauvegrade);
                }

                //sauvegarde de l'emplacement dans l'objet MyPersonnalMapData
                ret_val             = personneAsauvegardee;
                ret_val.Emplacement = path;
            }
            catch (Exception e)
            {
                throw new LoadSaveException("SavePersonne (fStream) : Erreur : " + e.Message);
            }

            if (ret_val == null)
            {
                throw new LoadSaveException("SavePersonne : ret_val == null : une erreur est survenue :( ");
            }

            return(ret_val);
        }
コード例 #4
0
        //output : true si on trouve la personne à l'emplacement demandé, false si on ne la trouve pas
        public static MyPersonalMapData LoadPersonne(MyPersonalMapData personneRecherchee)
        {
            MyPersonalMapData ret_val     = null;
            string            emplacement = @"../../../sauvegarde/";

            try
            {
                if (Directory.Exists(emplacement))
                {
                    Console.WriteLine("DEBUG : LoadObservableCollection : le répertoire {0} existe...", emplacement);
                    string[] listeFicher;
                    listeFicher = Directory.GetFiles(emplacement);
                    if (listeFicher.Length > 0)
                    {
                        for (int i = 0; i < listeFicher.Length; i++)
                        {
                            if (File.Exists(listeFicher[i]))
                            {
                                MyPersonalMapData personneTMP = new MyPersonalMapData();
                                BinaryFormatter   binFormat   = new BinaryFormatter();
                                try
                                {
                                    Stream fStream = new FileStream(listeFicher[i], FileMode.Open, FileAccess.Read);
                                    if (fStream == null)
                                    {
                                        throw new LoadSaveException("LoadPersonne fStream == null");
                                    }
                                    personneTMP.Prenom      = (string)binFormat.Deserialize(fStream);
                                    personneTMP.Nom         = (string)binFormat.Deserialize(fStream);
                                    personneTMP.Email       = (string)binFormat.Deserialize(fStream);
                                    personneTMP.Emplacement = listeFicher[i];
                                    personneTMP.SETObservableCollection((ObservableCollection <ICartoObj>)binFormat.Deserialize(fStream));
                                    fStream.Close();

                                    //Console.WriteLine("DEBUG recherche de personne :");
                                    //Console.WriteLine("path = " + listeFicher[i]);
                                    //Console.WriteLine("personneTMP = \n" + personneTMP.ToString());
                                    //Console.WriteLine("personneRecherchee = \n" + personneRecherchee.ToString());

                                    if (personneTMP.Nom == personneRecherchee.Nom && personneTMP.Prenom == personneRecherchee.Prenom && personneTMP.Email == personneRecherchee.Email)
                                    {
                                        ret_val = personneTMP;
                                        i       = listeFicher.Length;
                                    }
                                }
                                catch (Exception e)
                                {
                                    throw new LoadSaveException("LoadPersonne (try/catch de fStream) : Erreur : " + e.Message);
                                }
                            }
                        }
                    }
                    else
                    {
                        throw new LoadSaveException("LoadObservableCollection : le répertoire" + emplacement + "est vide !!!");
                    }
                }
                else
                {
                    throw new LoadSaveException("LoadObservableCollection : le répertoire" + emplacement + "n existe pas !!!");
                }
            }
            catch (Exception e)
            {
                throw new LoadSaveException("LoadPersonne : Erreur : " + e.Message);
            }

            if (ret_val == null)
            {
                throw new LoadSaveException("LoadPersonne : ret_val == null : personneRecherche pas trouvee :( ");
            }
            return(ret_val);
        }