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