Ejemplo n.º 1
0
        //Lorsque la sauvegarde est terminée
        private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            backgroundWorker.Dispose();
            backgroundWorker.CancelAsync();

            mainform.setLbEtatDerniereSauvegarde();
            DateTime lastSave = Serialization.deserializeLastSaveDate(false);
            Configuration c = new Configuration();

            //reinitialisation de la date de la prochaine sauvegarde
            DateTime d = s.initNextSave();
            Log.write("- " + DateTime.Now.ToShortDateString() + " à " + DateTime.Now.ToShortTimeString() + " Réinitialisation de la date de la prochaine sauvegarde, nouvelle valeur: " + d.ToString());
            this.mainform.setLbDateProchaineSauvegarde(d);

            //suppression des anciennes sauvegardes
            if (c.getNbSaves() != 0)
            {
                s.checkSaveNumber();
            }

            //Création et envoi du mail de fin de sauvegarde
            Mailer m = new Mailer(this.s);
            m.sendNotificationSauvegarde();
            s.setNbFichiersCopies(0);

            if (c.getAutoShutDown() == '1')
            {
                //Arret de l'ordinateur
                System.Diagnostics.ProcessStartInfo restart = new System.Diagnostics.ProcessStartInfo("shutdown.exe", "-s -t 60");
                System.Diagnostics.Process.Start(restart);
            }
            else
            {
                MessageBox.Show("Sauvegarde terminée.");
                Log.write("- " + DateTime.Now.ToShortDateString() + " à " + DateTime.Now.ToShortTimeString() + " Sauvegarde terminée");
                Application.Restart();
            }
            Close();
        }