public void DeelTramInOpReservering(Tram tram, DatabaseController dc)
 {
     foreach (Reservering reservering in dc.GetAllReservering())
     {
         if (reservering.Tram.TramNummer == tram.TramNummer)
         {
             foreach (Spoor spoor in alleSporen)
             {
                 if (reservering.Sector.SpoorNummer == spoor.SpoorNummer && reservering.Sector.Status == SectorStatus.leeg)
                 {
                     spoor.SpoorStatus = SpoorStatus.InGebruik;
                     dc.UpdateSpoor(spoor);
                     reservering.Sector.Status = SectorStatus.bezet;
                     reservering.Sector.Tram   = tram;
                     dc.UpdateSector(reservering.Sector);
                     tram.Status = TramStatus.Geparkeerd;
                     dc.UpdateTram(tram);
                 }
             }
         }
     }
 }
 /// <summary>
 /// Deelt de tram in op een spoor dat voldoet aan de eisen van ons algoritme.
 /// </summary>
 /// <param name="tram">De tram die ingedeelt moet worden</param>
 /// <param name="dc">De databasecontroller die aangemaakt wordt in de DeelTramBeterIn methode</param>
 public void DeelTramInVolgensAlgoritme(Tram tram, DatabaseController dc)
 {
     for (int x = 0; x < alleSporen.Count; x++)                                                                                                               //doorloopt alle sporen.
     {
         if (alleSporen[x].SpoorStatus == SpoorStatus.InGebruik)                                                                                              //wanneer het spoor in gebruik is.
         {
             for (int i = 0; i < alleSporen[x].Sectoren.Count; i++)                                                                                           //doorloopt alle sectoren van het spoor.
             {
                 if (alleSporen[x].Sectoren[i].Status == SectorStatus.leeg && alleSporen[x].Sectoren[i].IsGereserveerdCheck(dc.GetAllReservering()) == false) //indien er nog een sector vrij is.
                 {
                     if (i - 1 != -1 && alleSporen[x].Sectoren[i - 1].Tram != null)
                     {
                         if (Convert.ToInt32(alleSporen[x].Sectoren[i - 1].Tram.VertrekTijd) <= Convert.ToInt32(tram.VertrekTijd)) //indien de vertrektijd van de laatste tram op het spoor vroeger is dan van de parameter tram.
                         {
                             alleSporen[x].Sectoren[i].Status = SectorStatus.bezet;
                             alleSporen[x].Sectoren[i].Tram   = tram;
                             dc.UpdateSector(alleSporen[x].Sectoren[i]); //de sector wordt geÜpdate
                             tram.Status = TramStatus.Geparkeerd;
                             dc.UpdateTram(tram);                        //de tram word geüpdate.
                             return;
                         }
                         else
                         {
                             break;
                         }
                     }
                 }
             }
         }
         else
         {
             alleSporen[x].SpoorStatus = SpoorStatus.InGebruik;
             dc.UpdateSpoor(alleSporen[x]); //spoor wordt geüpdate.
             alleSporen[x].Sectoren.First().Status = SectorStatus.bezet;
             alleSporen[x].Sectoren.First().Tram   = tram;
             dc.UpdateSector(alleSporen[x].Sectoren.First()); //de sector wordt geÜpdate
             tram.Status = TramStatus.Geparkeerd;
             dc.UpdateTram(tram);                             //de tram word geüpdate.
             return;
         }
     }
 }