Esempio n. 1
0
 public bool VoegLeerlingToe(Leerling leerling)
 {
     if (bezet + leerling.aantal > ruimte)
     {
         return(false);
     }
     else
     {
         bezet += leerling.aantal;
         leerlingen.Add(leerling);
         return(true);
     }
 }
Esempio n. 2
0
 public void VerwijderLeerling(Leerling leerling)
 {
     leerlingen.Remove(leerling);
     bezet -= leerling.aantal;
 }
Esempio n. 3
0
        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);
        }