Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }