private void SchuelerdatenImportierenButton_Click(object sender, RoutedEventArgs e) { try { SchuelerDatenEditierenGUI win2 = new SchuelerDatenEditierenGUI(Verwaltungskram.importiereSchuelerListe()); win2.Show(); this.Close(); } catch (ArgumentNullException) { } }
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()); }