/// <summary> /// Deelt de tram in op een vrij onderhoudsspoor. /// </summary> /// <param name="tram"></param> /// <param name="dc"></param> public static void DeelTramInOpReservering(Tram tram, DatabaseController dc) //ToDo: Rekening houden met verbinding. { BeheerController bc = new BeheerController(); Reservering reservering = bc.GetReservering(tram); foreach (Spoor spoor in alleSporen) { if (reservering.Spoor.ID == spoor.ID) { Sector sector = spoor.GetEersteSector(); if (sector == null) { DeelTramInVolgensAlgoritme(tram, dc); return; } else { sector.PlaatsTram(tram); if (sector.ID == spoor.Sectoren[(spoor.Sectoren.Count - 1)].ID) { spoor.Beschikbaar = false; } tram.Beschikbaar = true; dc.UpdateSpoor(spoor); dc.UpdateTram(tram); dc.UpdateSector(sector, huidigeRemise); dc.DeleteReservering(reservering.ID); } } } }
/// <summary> /// Controleer of de tram een onderhoudsbeurt nodig heeft. /// </summary> /// <param name="tram">De tram die wordt gecontroleerd</param> /// <returns></returns> public static int ControleerTram(Tram tram) { OnderhoudController oc = new OnderhoudController(huidigeRemise); BeheerController bc = new BeheerController(); if (oc.TramControleerOnderhoud(tram)) { return(0); } else if (bc.TramControleerReservering(tram)) { return(1); } else { return(2); } }