//objavi objavo na zid private void Btn_Objavi(object sender, RoutedEventArgs e) { if (Lok.ToString().Length > 32 && zasebnost != null && back != null && text != null && barva_ozadja != null && barva_pisave != null) { MojGradnikObjava gradnik_obj = new MojGradnikObjava(); gradnik_obj.dodaj_Lokacijo(Lok.ToString().Substring(33)); gradnik_obj.dodaj_kdo(zasebnost); int id = ((MainWindow)Application.Current.MainWindow).podatki.dobi_id_zadnje() + 1; string ime_dat = "text_obj_" + id.ToString() + ".xaml"; TextRange t = new TextRange(text_objave.Document.ContentStart, text_objave.Document.ContentEnd); FileStream file = new FileStream(ime_dat, FileMode.Create); t.Save(file, System.Windows.DataFormats.XamlPackage); file.Close(); gradnik_obj.dodaj_dopis(text_objave, back, text); if (ime_slike != "NULL") { gradnik_obj.dodaj_sliko(ime_slike); Debug.WriteLine(ime_slike); } else if (pot_videa != "NULL") { gradnik_obj.dodaj_video(pot_videa); } string cas = DateTime.Now.ToString(); gradnik_obj.nastavi_cas(cas); ((MainWindow)Application.Current.MainWindow).objava_dodaj(new ObjavaNaZidu(id, ime_dat, Lok.ToString().Substring(33), zasebnost, barva_pisave, barva_ozadja, ime_slike, pot_videa, cas)); gradnik_obj.Name = "objava" + id.ToString(); DockPanel.SetDock(gradnik_obj, Dock.Bottom); ((MainWindow)Application.Current.MainWindow).zid_objav.Children.Add(gradnik_obj); } }
public ZugSteuerpult(Lok Instance) { InitializeComponent(); Lokdaten = Instance; UpdateLokDaten(); }
private void SetupLokListe() { string[] fileEntries = Directory.GetFiles("LokArchiv"); string KeineLokAdr = "Folgende Dateien besitzen keine LokAdressen und werden ignoriert:\n\n"; bool FehlendeAdr = false; foreach (string fileName in fileEntries) { XElement XMLFile = XElement.Load(fileName); //XML-Datei öffnen var list = XMLFile.Elements("Lok").ToList(); //Alle Elemente des Types Lok in eine Liste Umwandeln foreach (XElement lok in list) //Alle Elemente der Liste einzeln durchlaufen { Lok Lokomotive = new Lok(); if (lok.Element("Adresse") == null) { KeineLokAdr += String.Format("- {0} \n", fileName); FehlendeAdr = true; continue; } Lokomotive.Adresse = Int16.Parse(lok.Element("Adresse").Value); //LokAdresse des Elements auslesen if (lok.Element("Name") == null) { Lokomotive.Name = ""; } else { Lokomotive.Name = lok.Element("Name").Value; //Lokname des Elements auslesen } if (lok.Element("Gattung") == null) { Lokomotive.Gattung = ""; } else { Lokomotive.Gattung = lok.Element("Gattung").Value; //StandardGattung Eintragen } Lokomotive.Funktionen.Add("Licht"); for (int i = 1; i <= 21; i++) { string Label = String.Format("Funktion{0}", i); if (lok.Element(Label) == null) { Lokomotive.Funktionen.Add(null); } else { Lokomotive.Funktionen.Add(lok.Element(Label).Value); } } Lokliste.Add(Lokomotive); //Lokomotive zur Lokliste hinzufügen } } if (FehlendeAdr) { MessageBox.Show(KeineLokAdr, "Keine Adressen", MessageBoxButtons.OK, MessageBoxIcon.Warning); } if (!Lokliste.GroupBy(x => x.Adresse).All(g => g.Count() == 1)) { List <int> DoppelAdressen = Lokliste.GroupBy(x => x.Adresse) .Where(g => g.Count() > 1) .Select(y => y.Key) .ToList(); List <Lok> Ausschuss = new List <Lok>(); foreach (int adr in DoppelAdressen) { var Subliste = Lokliste.FindAll(Lok => Lok.Adresse == adr); Ausschuss.AddRange(Subliste); } string nachricht = "Loks mit gleichen Adressen gefunden: \n\n"; foreach (Lok lok in Ausschuss) { nachricht += String.Format("{0} - {1}\n", lok.Adresse, lok.Name); } MessageBox.Show(nachricht, "Mehrdeutige Adresse", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }