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); } } }