private void SchuelerdatenImportierenButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         SchuelerDatenEditierenGUI win2 = new SchuelerDatenEditierenGUI(Verwaltungskram.importiereSchuelerListe());
         win2.Show();
         this.Close();
     }
     catch (ArgumentNullException)
     {
     }
 }
예제 #2
0
        public void verteileSchueler(List <Schueler> schuelerListe)
        {
            int     moeglichePlaetze             = tischgruppen.Count * maxProTisch;
            decimal schuelerProTischTatsaechlich = schuelerListe.Count() / tischgruppen.Count;
            int     restPlaetze = schuelerListe.Count() % tischgruppen.Count;

            if (moeglichePlaetze >= schuelerListe.Count())
            {
                if (schuelerProTischTatsaechlich < 6)
                {
                    SortedList <String, int> firmenVerteilung = ermittleFirmen(schuelerListe);
                    int k = 0;
                    //Verteilung der Schüler
                    foreach (Tischgruppe tisch in tischgruppen)
                    {
                        int i = 0;
                        //zufälliges Sortieren der Schüler
                        schuelerListe = Verwaltungskram.Shuffle(schuelerListe);
                        List <Schueler> zufallsListe = new List <Schueler>();
                        zufallsListe.AddRange(schuelerListe);
                        foreach (Schueler schueler in zufallsListe)
                        {
                            if (i < schuelerProTischTatsaechlich) //mehr Bedingungen abfragen, ob Firma schon in Betrieb
                            {
                                //tisch.addSchueler(schueler, i);
                                this.tischgruppen[k].setzeSchueler(schueler, i);
                                schuelerListe.Remove(schueler);
                                i++;
                            }
                        }
                        if (restPlaetze > 0)
                        {
                            this.tischgruppen[k].setzeSchueler(schuelerListe[0], i);
                            schuelerListe.Remove(schuelerListe[0]);
                            restPlaetze--;
                        }
                        k++;
                    }
                }
                else
                {
                    //Fehler maximal 6 Schüler pro Tisch
                }
            }
            else
            {
                //throw new ArgumentOutOfRangeException("Schüleranzahl", "Die aktuelle Schueleranzahl ist größer als die Anzahl der Sitzplätze.");
                //Fehler nicht genug Platz an den Tischen
                //Beispiel User gibt 5 TGs an und 4 Schüler pro Tisch, also Platz für 20 Schüler. Aber 25 Schüler wurden angegeben.
            }
            //verteilerDummy(schuelerListe);
        }
 //Schülerliste importieren aus .csv-Datei
 public void holeSchuelerAusCSV()
 {
     schuelerListe.AddRange(Verwaltungskram.importiereSchuelerListe());
 }