コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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
        }