//Verification de l'etat de la dernière sauvegarde //Si les condition necessaire au lancement d'une sauvegarde sont reunies //aret du timer //demande de report de la sauvegarde //Si oui : redemarrage du timer //si non : //activation de l'autologon //sauvegarde de l'etat de l'autologon à true //lancement du redémarrage de l'ordinateur private void myTimer_Tick(object sender, EventArgs e) { this.MoveCursor(this.j); sauvegarde.SetTempsRestant(sauvegarde.GetNextSave() - DateTime.Now); if (sauvegarde.checkSaveConditions()) { this.myTimer.Stop(); ReportSaveForm rsf = new ReportSaveForm(this, sauvegarde); DialogResult = rsf.ShowDialog(); if (DialogResult == System.Windows.Forms.DialogResult.OK) { sauvegarde.SetNextSave(rsf.getNextSave()); this.lbDateProchaineSauvegarde1.Text = sauvegarde.GetNextSave().ToShortDateString() + " à " + c.getHeure() + "h" + c.getMinute(); this.myTimer.Start(); } else { RegistryModifier.enableAutoLogon(ConfigurationManager.AppSettings["password"]); this.isAutoLogonEnabled = true; Serialization.serialize(this.isAutoLogonEnabled); Save.restartComputer(); } } if (sauvegarde.GetTempsRestant().Days == 0 && sauvegarde.GetTempsRestant().Hours < 15) { ShutdownBlockReasonCreate(this.Handle, "Une sauvegarde automatique va être éffectuée à " + sauvegarde.GetNextSave().ToShortTimeString() + "." + Environment.NewLine + " Veuillez ne pas éteindre l'ordinateur"); } else { shutdownBlockReasonDestroy(this.Handle, "Arrêt autorisé"); } }
public DateTime initNextSave() { DateTime d = Serialization.deserializeLastSaveDate(true); DateTime nextSave = d.AddDays(c.getPeriode()).AddHours(-d.Hour + c.getHeure()).AddMinutes(-d.Minute + c.getMinute()).AddSeconds(-d.Second); return(nextSave); }