Пример #1
0
        private void Button_import(object sender, RoutedEventArgs e)
        {
            // gets all the seperatly parts of the CSV
            String[][] results = readCSV(getFile());

            Klasse     k = null;
            Teilnehmer t = null;

            // if i can read the CSV
            if (results != null)
            {
                // connect to the db
                using (var con = new DBKlassenliste())
                {
                    // get all the Klassen
                    List <Klasse> list = con.Klasse.ToList();

                    // for each line, save the entries
                    for (int i = 0; i < results.GetLength(0); i++)
                    {
                        // make a new Klasse
                        k             = new Klasse();
                        k.Bezeichnung = results[i][4];
                        k.Kuerzel     = results[i][5];
                        k.Jahr        = Int32.Parse(results[i][6]);

                        // check if its already in the db
                        if (!list.Contains(k))
                        {
                            // if its not in the db, insert it
                            con.Klasse.Add(k);
                        }

                        // make a new Teilnehmer
                        t              = new Teilnehmer();
                        t.Name         = results[i][0];
                        t.Vorname      = results[i][1];
                        t.Email        = results[i][2];
                        t.Geburtsdatum = DateTime.ParseExact(results[i][3], "dd/MM/yyyy", CultureInfo.CurrentCulture);
                        t.Klasse       = k;

                        // save the Teilnehmer
                        con.Teilnehmer.Add(t);

                        // insert everything needed in the db
                        con.SaveChanges();
                    }
                }
            }

            fillTreeView();
        }
Пример #2
0
        // to fill the TreeView
        private void fillTreeView()
        {
            // delete evry entry in the treeview
            treeView.Items.Clear();

            List <Klasse>     listKlasse     = null;
            List <Teilnehmer> listTeilnehmer = null;

            // connect to the db
            using (var con = new DBKlassenliste())
            {
                // get a list of the Klassen and Teilnehmer
                listKlasse     = con.Klasse.ToList();
                listTeilnehmer = con.Teilnehmer.ToList();
            }

            // a list for the "parents" / header
            List <TreeViewItem> parentKlasse = new List <TreeViewItem>();

            // for each class
            for (int i = 0; i < listKlasse.Count(); i++)
            {
                /* TreeViewItem tr = new TreeViewItem();
                 * tr.Header = listKlasse.ElementAt(i).Kuerzel;
                 * parentKlasse.Add(tr);*/

                // add the Kuerzel as the header / parent
                parentKlasse.Add(new TreeViewItem());
                parentKlasse.ElementAt(i).Header = listKlasse.ElementAt(i).Kuerzel;
                treeView.Items.Add(parentKlasse.ElementAt(i));
            }

            // for every Klasse
            for (int i = 0; i < parentKlasse.Count(); i++)
            {
                // for every Teilnehmer
                for (int x = 0; x < listTeilnehmer.Count(); x++)
                {
                    // if the Kuerzel of the Klasse from the Teilnehmer is the same as the header / parent
                    if (listTeilnehmer.ElementAt(x).Klasse.Kuerzel.Equals(parentKlasse.ElementAt(i).Header))
                    {
                        // insert the Teilnehmer as a child
                        TreeViewItem tr = new TreeViewItem();
                        tr.Header = listTeilnehmer.ElementAt(x).Name + " " + listTeilnehmer.ElementAt(x).Vorname;
                        parentKlasse.ElementAt(i).Items.Add(tr);
                    }
                }
            }
        }
Пример #3
0
        private void Button_delete(object sender, RoutedEventArgs e)
        {
            // connect to the db
            using (var con = new DBKlassenliste())
            {
                // if something is selected in the TreeView
                if (treeView.SelectedItem != null)
                {
                    // if the selected item isn't null
                    Teilnehmer t = treeView.SelectedItem as Teilnehmer;
                    if (t != null)
                    {
                        // delete the Teilnehmer
                        con.Teilnehmer.Remove(t);
                        con.SaveChanges();

                        fillTreeView();
                    }
                }
            }
        }