示例#1
0
        //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();
 }
示例#3
0
        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);
            }
        }