private void CreateReadme(GroupsBackup grBak)
        {
            using (StreamWriter sw = new System.IO.StreamWriter(System.IO.Path.Combine(this.Path, README_FILENAME)))
            {
                sw.Write("Die Datei \"");
                sw.Write(BACKUP_FILENAME);
                sw.Write("\" enthält exportierte Gruppen aus dem Programm \"");
                sw.Write(App.PROGRAM_NAME);
                sw.Write("\", Version ");
                sw.Write(App.PROGRAM_VERSION);
                sw.Write(". ");
                sw.WriteLine(grBak.GetStatusString());

                sw.Write("BENENNEN SIE DIE DATEI \"");
                sw.Write(BACKUP_FILENAME);
                sw.WriteLine("\" AUF KEINEN FALL UM: SIE WIRD SONST UNBRAUCHBAR!");

                sw.WriteLine();

                sw.Write('\"');
                sw.Write(BACKUP_FILENAME);
                sw.WriteLine("\" enthält folgende Gruppen:");
                sw.WriteLine();

                foreach (var group in grBak.Groups)
                {
                    sw.WriteLine(group.GroupName);
                }
            }
        }
        private void InitImport()
        {
            GroupsBackup grBak;

            try
            {
                grBak = GroupsBackup.FromFile(this.Path);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, "Die Gruppen konnten nicht importiert werden."
                                + Environment.NewLine + Environment.NewLine + "Fehler: " + ex.Message,
                                App.PROGRAM_NAME, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);

                this.DialogResult = false;
                return;
            }

            if (VersionCheck(grBak))
            {
                this.tbHeader.Text =
                    string.Format("{0}{1}Durch das Importieren von Gruppen werden vorhandene Gruppen nicht automatisch gelöscht oder überschrieben.", grBak.GetStatusString(), Environment.NewLine);

                this.Groups = grBak.Groups;

                InitlbGroups();
            }
            else
            {
                this.DialogResult = false;
            }
        }
        private bool ExportSelectedGroups(Group[] groups)
        {
            var grBak = new GroupsBackup(true);

            grBak.Groups = groups;

            try
            {
                CreateDirectory();
                grBak.Serialize(this.Path);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, "Die Gruppen konnten nicht exportiert werden."
                                + Environment.NewLine + Environment.NewLine + "Fehler: " + ex.Message,
                                App.PROGRAM_NAME, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);

                return(false);
            }

            try { CreateReadme(grBak); }
            catch (Exception) { }

            MessageBox.Show(this, "Die ausgewählten Gruppen wurden exportiert nach:"
                            + Environment.NewLine + this.Path,
                            App.PROGRAM_NAME, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK);

            return(true);
        }
 private bool VersionCheck(GroupsBackup grBak)
 {
     //if (ApplicationDeployment.IsNetworkDeployed && grBak.ExportedVersion > App.PROGRAM_VERSION)
     //{
     //    MessageBox.Show(this,
     //        "Die Gruppen wurden aus einem Programm exportiert, dessen Version höher ist,"
     //        + Environment.NewLine +
     //        "als die des derzeit ausgeführten Programms."
     //        + Environment.NewLine +
     //        "Aktualisieren Sie Ihr Programm auf die neuste Version!",
     //        App.PROGRAM_NAME, MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
     //    return false;
     //}
     return(true);
 }