public bool VoegLeerlingToe(Leerling leerling) { if (bezet + leerling.aantal > ruimte) { return(false); } else { bezet += leerling.aantal; leerlingen.Add(leerling); return(true); } }
public void VerwijderLeerling(Leerling leerling) { leerlingen.Remove(leerling); bezet -= leerling.aantal; }
private static List <Leerling> KrijgLeerlingen() { List <Leerling> leerlingen = new List <Leerling>(); using (SqlCeConnection conn = new SqlCeConnection(Global.connectionString)) { conn.Open(); //krijg de keuzes van de leerlingen using (SqlCeCommand cmd = new SqlCeCommand("SELECT Keuze.GebruikerID, Keuze.keuze1, Keuze.aantalpers, Leerling.blokken, Leerling.oudersemail, Gebruiker.email FROM Keuze, Leerling, Gebruiker WHERE Leerling.GebruikerId = Gebruiker.GebruikerId", conn)) { SqlCeDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { //checkt of er geen lege data is if (!(reader.IsDBNull(0) || reader.IsDBNull(1) || reader.IsDBNull(2) || reader.IsDBNull(3) || reader.IsDBNull(4) || reader.IsDBNull(5))) { int leerlingId = reader.GetInt32(0); int aantal = reader.GetInt32(2); Leerling leerling = new Leerling(leerlingId, aantal); string lessen = reader.GetString(1); foreach (string les in lessen.Split(',')) { leerling.vakken.Add(Convert.ToByte(les)); } string blokken = reader.GetString(3); foreach (string blok in blokken.Split(',')) { leerling.beschikbaar.Add(Convert.ToByte(blok)); } leerling.email = reader.GetString(4); leerling.oudersemail = reader.GetString(5); leerlingen.Add(leerling); } } } } //zet de leerlingen in klassen waar de lessen en blokken matchen List <KlasSorteren> klassen = new List <KlasSorteren>(); for (int i = 0; i < leerlingen.Count(); i++) { bool addClass = true; foreach (KlasSorteren klas in klassen) { if (klas.leerlingen.Count() == 0 | klas.blokken.Count() == 0 | klas.lessen.Count() == 0) { klas.leerlingen.Add(leerlingen[i]); addClass = false; } //als de vakken en blokken matchen else if (leerlingen[i].beschikbaar.SequenceEqual(klas.blokken) && leerlingen[i].vakken.SequenceEqual(klas.lessen)) { klas.leerlingen.Add(leerlingen[i]); addClass = false; } if (!addClass) { break; } } //als er geen klas voor een leerling gevonden is if (addClass) { //voeg een lege klas toe klassen.Add(new KlasSorteren()); i--; } } //zet de klassen weer om in een leerlinglijst leerlingen = new List <Leerling>(); foreach (KlasSorteren klas in klassen) { foreach (Leerling leerling in klas.leerlingen) { leerlingen.Add(leerling); } } return(leerlingen); }