private bool AFolgtB_Anfrage(string A, string B)
        {
            // Gespeicherte Beziehungen durchsuchen
            Beziehung BezGespeichert = Beziehungen.Find(Bez => Bez.A == A && Bez.B == B);

            if (BezGespeichert != null && BezGespeichert.Folgt == true)
            {
                return(true);
            }
            else
            {
                // Neue Beziehung abspeichern
                bool      AntwortNeu = AFolgtB_AnfrageNeu(A, B);
                Beziehung BezNeu     = new Beziehung()
                {
                    A     = A,
                    B     = B,
                    Folgt = AntwortNeu
                };
                Beziehungen.Add(BezNeu);

                if (AntwortNeu)
                {
                    Anfragen.Add("Folgt " + A + " -> " + B + " ? => JA");
                    return(true);
                }
                else
                {
                    Anfragen.Add("Folgt " + A + " -> " + B + " ? => NEIN");
                    return(false);
                }
            }
        }
        // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

        private bool OeffneDatei(out string[] Mitglieder, out Beziehung[] BeziehungsDaten)
        {
            // Zeige Dateidialog
            OpenFileDialog Dialog = new OpenFileDialog()
            {
                Filter = "Textdateien|*.txt",
                Title  = "Gruppendatei auswählen ..."
            };

            // Ergebnis überprüfen
            if (Dialog.ShowDialog() != true)
            {
                Mitglieder      = Array.Empty <string>();
                BeziehungsDaten = Array.Empty <Beziehung>();
                return(false);
            }

            // Datei überprüfen
            if (!File.Exists(Dialog.FileName))
            {
                Mitglieder      = Array.Empty <string>();
                BeziehungsDaten = Array.Empty <Beziehung>();
                return(false);
            }

            // Datei einlesen
            string[] Datei = File.ReadAllLines(Dialog.FileName);

            // Leere Zeile entfernen
            if (Datei[Datei.Length - 1] == String.Empty)
            {
                Array.Resize(ref Datei, Datei.Length - 1);
            }

            // Mitglieder sammeln
            Mitglieder = Datei[0].Split(' ');

            // Beziehungen sammeln
            BeziehungsDaten = new Beziehung[Datei.Length - 1];
            for (int i = 0; i < Datei.Length - 1; i++)
            {
                BeziehungsDaten[i] = new Beziehung()
                {
                    Folgt = true,
                    A     = Datei[i + 1].Split(' ')[0],
                    B     = Datei[i + 1].Split(' ')[1]
                };
            }

            // Setze Dateiname
            Dateiname = System.IO.Path.GetFileName(Dialog.FileName);

            // Lade Listen
            MitgliederLaden();
            DetailsLaden();

            return(true);
        }
        public MainWindow()
        {
            InitializeComponent();

            PersonenCollection    = new ObservableCollection <Person>();
            BeziehungenCollection = new ObservableCollection <Beziehung>();

            using (StreamReader srp = new StreamReader(@"..\..\..\personen.csv"))
            {
                string zeilep;
                while ((zeilep = srp.ReadLine()) != null)
                {
                    string[] spalte = zeilep.Split(';');
                    if (spalte[1] == "K")
                    {
                        Kind k = new Kind()
                        {
                            ID         = Convert.ToInt32(spalte[0]),
                            KE         = spalte[1],
                            Vorname    = spalte[2],
                            Nachname   = spalte[3],
                            Gebdatum   = spalte[4],
                            Geschlecht = spalte[5],
                            Schule     = spalte[6]
                        };
                        PersonenCollection.Add(k);
                    }
                    else if (spalte[1] == "E")
                    {
                        Erwachsener e = new Erwachsener()
                        {
                            ID         = Convert.ToInt32(spalte[0]),
                            KE         = spalte[1],
                            Vorname    = spalte[2],
                            Nachname   = spalte[3],
                            Gebdatum   = spalte[4],
                            Geschlecht = spalte[5],
                            Beruf      = spalte[6]
                        };
                        PersonenCollection.Add(e);
                    }
                    lb.ItemsSource = PersonenCollection;
                }
            }

            using (StreamReader srb = new StreamReader(@"..\..\..\beziehungen.csv"))
            {
                string zeileb;
                while ((zeileb = srb.ReadLine()) != null)
                {
                    string[]  spalte = zeileb.Split(';');
                    Beziehung b      = new Beziehung()
                    {
                        Quelle = Convert.ToInt32(spalte[0]),
                        Ziel   = Convert.ToInt32(spalte[1]),
                        Rolle  = spalte[2]
                    };
                    BeziehungenCollection.Add(b);
                }
            }
        }