public void SaveDatas(DataSaveModif data) { // Delete a file by using File class static method... String file_V1 = this.pathFile + this.nameFile + ".xml"; String file_V2 = this.pathFile + this.nameFile + "V2" + ".xml"; //Ouverture du fichier Stream stream = new FileStream(file_V2, FileMode.OpenOrCreate); //TODO ajouter erreur sauvegarde données Type[] extraTypes = { typeof(Modification) }; XmlSerializer serializer = new XmlSerializer(typeof(DataSaveModif), extraTypes); serializer.Serialize(stream, data); //Fermeture du fichier stream.Close(); if (System.IO.File.Exists(file_V1)) { try { System.IO.File.Delete(file_V1); } catch (System.IO.IOException e) { //TODO gérer erreur Console.WriteLine(e.Message); return; } } FileSystem.Rename(file_V2, file_V1); }
public DataSaveModif ReadDatas() { DataSaveModif data = new DataSaveModif(); if (File.Exists(pathFile + nameFile + ".xml")) { //Ouverture du fichier Stream stream = new FileStream(pathFile + nameFile + ".xml", FileMode.OpenOrCreate, FileAccess.Read); Type[] extraTypes = { typeof(Modification) }; XmlSerializer serializer = new XmlSerializer(typeof(DataSaveModif), extraTypes); if (stream.Position != 0) { stream.Position = 0; } if (System.IO.File.Exists(this.pathFile + this.nameFile + ".xml")) { try { data = (DataSaveModif)serializer.Deserialize(stream); } catch (System.IO.IOException e) { MessageBox.Show("Erreur lecture fichier modifications"); } } //Fermeture du fichier stream.Close(); } else { MessageBox.Show("Erreur: Le fichier de modifications n'existe pas"); } return(data); }
public void AddModif(Modification modification) { //ouvrir fichier DataSaveModif dataSaveModif = ReadDatas(); int nbModifs = 0; foreach (Modification modif in dataSaveModif.listeModifs) { if (modif.dateModif.CompareTo(DateTime.Now.AddMonths(-1)) < 0) { dataSaveModif.listeModifs.Remove(modif); } if (nbModifs > 200) { break; } nbModifs++; } dataSaveModif.listeModifs.Add(modification); SaveDatas(dataSaveModif); //charger les erreurs et supprimer celles }