private void bt_Save_Click(object sender, RoutedEventArgs e) { try { XML_Drives daten = new XML_Drives(); //Fügt die Seriennummern der angehakte Laufwerke dem XML Dokument hinzu foreach (object drive in Stack_SystemDrives.Children) { if ((drive is CheckBox == true) && ((drive as CheckBox).IsChecked == true)) { string serialnumber = Convert.ToString((drive as CheckBox).Content).Split('\t')[1]; daten.systemDrivesSerialnumbers.Add(serialnumber); } } //Fügt die Seriennummern der Sicherungslaufwerke der XML Datei hinzu foreach (object drive in lb_backupDrives.Items) { if ((drive is TextBlock == true)) { try { string serialnumber = Convert.ToString((drive as TextBlock).Text).Split('\t')[1]; daten.backupDrives.Add(serialnumber); } catch (System.IndexOutOfRangeException) { daten.backupDrives.Add((drive as TextBlock).Text); } } } //Speichern der XML Datei SaveXMLData.SaveXML(daten, xmlUserdataDrives); //Erfolgsmeldung MessageBox.Show("Daten gespeichert"); //Daten neu aus XML laden LoadPage(); } catch (System.IO.IOException) { MessageBox.Show("Prozess kann nicht auf die userdata_drives.xml zugreifen. Bitte noch einmal auf 'Einstellungen speichern' klicken!", "Fehler beim Speichern der Laufwerksdaten", MessageBoxButton.OK, MessageBoxImage.Warning); } catch (Exception) { MessageBox.Show("Unbekannter Fehler", "Unbekannter Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void bt_Save_Click(object sender, RoutedEventArgs e) { try { #region Speichern der Daten in XML XML_Mail daten = new XML_Mail(); daten.Absender = tb_Absender.Text; daten.Smtp = tb_Smtp.Text; daten.Username = tb_Username.Text; //Empfänger speichern hinzufügen foreach (object item in lb_Empfaenger.Items) { if (item is TextBlock) { daten.empfaenger.Add((item as TextBlock).Text); } } //Passwort speichern daten.Password = pwb_Passwort.Password; SaveXMLData.SaveXML(daten, xmlUserdataMail); #endregion #region Testen E-Mailsendung NetworkCredential login = new NetworkCredential(tb_Username.Text, pwb_Passwort.Password); foreach (string empfaenger in daten.empfaenger) { MailMessage msg = new MailMessage(tb_Absender.Text, empfaenger, "Test E-Mail Sicherung", "Das ist ein erster test. Bitte anschnallen!"); msg.BodyEncoding = Encoding.UTF8; msg.SubjectEncoding = Encoding.UTF8; msg.IsBodyHtml = true; SmtpClient client = new SmtpClient(tb_Smtp.Text); client.Credentials = login; client.EnableSsl = true; client.Send(msg); } #endregion MessageBox.Show("Daten gespeichert\nBitte überprüfen Sie ihren E-Mail Posteingang"); } catch (System.Net.Mail.SmtpException) { MessageBox.Show("Für den SMTP-Server ist eine sichere Verbindung erforderlich,\n oder der Client wurde nicht authentifiziert.\nDie Serverantwort war: 5.7.0 Authentication Required.", "Fehler E-Mail", MessageBoxButton.OK, MessageBoxImage.Error); } catch (System.IO.IOException) { MessageBox.Show("Prozess kann nicht auf die userdata_mail.xml zugreifen. Bitte noch einmal auf 'Einstellungen speichern' klicken!", "Fehler beim Speichern der Maildaten", MessageBoxButton.OK, MessageBoxImage.Warning); } catch (Exception) { MessageBox.Show("Unbekannter Fehler", "Unbekannter Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void bt_Save_Click(object sender, RoutedEventArgs e) { //Neues Daten Elemente zum Speichern der Einstellungen XML_Schedule daten = new XML_Schedule(); // Checkboxen speichern if (cb_Monday.IsChecked == true) { daten.IsMonday = true; } else { daten.IsMonday = false; } if (cb_Tuesday.IsChecked == true) { daten.IsTuesday = true; } else { daten.IsTuesday = false; } if (cb_Wednesday.IsChecked == true) { daten.IsWednesday = true; } else { daten.IsWednesday = false; } if (cb_Thursday.IsChecked == true) { daten.IsThursday = true; } else { daten.IsThursday = false; } if (cb_Friday.IsChecked == true) { daten.IsFriday = true; } else { daten.IsFriday = false; } if (cb_Saturday.IsChecked == true) { daten.IsSaturday = true; } else { daten.IsSaturday = false; } if (cb_Sunday.IsChecked == true) { daten.IsSunday = true; } else { daten.IsSunday = false; } if (cb_Shutdown.IsChecked == true) { daten.IsShutdown = true; } else { daten.IsShutdown = false; } //Speichern der Uhrzeit try { int hours = Convert.ToInt32(tb_Hours.Text); int minutes = Convert.ToInt32(tb_Minutes.Text); //Testen ob Hours unter 24 und nicht negativ. if (hours > 24 || hours < 0 || minutes > 59 || minutes < 0) { throw new System.FormatException(); } else { // Setzen der Uhrzeit daten.Hours = hours; daten.Minutes = minutes; } //Speichern der Userdaten SaveXMLData.SaveXML(daten, xmlUserdataSchedule); tb_Hours.Background = Brushes.White; tb_Minutes.Background = Brushes.White; #region Task für Aufgabenplanung //Pfad zur Exe Datei FileInfo startBackupExe = new FileInfo("StartBackup.exe"); string exe = startBackupExe.FullName; //Zeiteinstellungen Tage string weekdays = ""; if (cb_Monday.IsChecked == true) { weekdays += "mon,"; } if (cb_Tuesday.IsChecked == true) { weekdays += "tue,"; } if (cb_Wednesday.IsChecked == true) { weekdays += "wed,"; } if (cb_Thursday.IsChecked == true) { weekdays += "thu,"; } if (cb_Friday.IsChecked == true) { weekdays += "fri,"; } if (cb_Saturday.IsChecked == true) { weekdays += "sat,"; } if (cb_Sunday.IsChecked == true) { weekdays += "sun,"; } //Letztes Komma löschen weekdays = weekdays.Substring(0, weekdays.Length - 1); //Zeiteinstellungen für Uhrzeit string time = tb_Hours.Text.ToString() + ":" + tb_Minutes.Text.ToString(); //Anlegen der Aufgabe in Aufgabenplanung Process scheduledTask = new Process(); scheduledTask.StartInfo.FileName = "schtasks.exe"; scheduledTask.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; scheduledTask.StartInfo.Verb = "runas"; scheduledTask.StartInfo.Arguments = "/create /TN \"StartWindowsBackup\" /tr " + "\"" + exe + "\"" + " /sc weekly /d " + weekdays + " /st " + time + " /RL HIGHEST /F"; scheduledTask.Start(); #endregion //Erfolgsmeldung MessageBox.Show("Daten gespeichert"); } catch (System.FormatException) { MessageBox.Show("Die Eingabezeichenfolge hat das falsche Format.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); tb_Hours.Background = Brushes.Red; tb_Minutes.Background = Brushes.Red; } catch (System.IO.IOException) { MessageBox.Show("Prozess kann nicht auf die userdata_schedule.xml zugreifen. Bitte noch einmal auf 'Einstellungen speichern' klicken!", "Fehler beim Speichern der Userdaten", MessageBoxButton.OK, MessageBoxImage.Warning); } catch (System.ComponentModel.Win32Exception) { MessageBox.Show("Das anlegen der geplanten Aufgabe wurde vom Benuzter abgebrochen. Einstellungen wurden nicht gespeichert!", "Abbruch durch Benutzer", MessageBoxButton.OK, MessageBoxImage.Error); } }