Exemplo n.º 1
0
        /// <summary>
        /// verkrijgt een vrij spoor waar onderhoud voor een tram kan op gevoerd.
        /// </summary>
        /// <returns>Een vrij onderhoudsspoor</returns>
        public Spoor GetVrijOnderhoudsSpoor()
        {
            DatabaseController dc = new DatabaseController();

            foreach (Spoor s in dc.GetAllSporen(huidigeRemise))
            {
                if (s.SpoorType == SpoorType.Onderhoud && s.Beschikbaar)
                {
                    return(s);
                }
            }
            return(null);
        }
        /// <summary>
        /// Deelt de tram in op het spoor.
        /// </summary>
        /// <param name="tram"></param>
        public static void DeelTramInBeter(Tram tram)
        {
            if (tram == null)
            {
                throw new InUitRijException("U probeert een leeg tram object in te delen");
            }
            DatabaseController dc = new DatabaseController();               //Maakt een verbinding met de database via de databaseklasse.

            alleSporen = dc.GetAllSporen(huidigeRemise);                    //Verkrijgt alle sporen.

            DeelTramIn deelTramIn = IndelingMethodes[ControleerTram(tram)]; //Voegt een methode toe aan de delegate afhankelijk van de stauts van de tram.

            deelTramIn(tram, dc);                                           //Voert DeelTramInOpOnderhoudsSpoor of DeelTramInVolgensAlgoritme afhankelijk van de status van de Tram.
        }