/// <summary> /// Deelt de tram in op een vrij onderhoudsspoor. /// </summary> /// <param name="tram"></param> /// <param name="dc"></param> public static void DeelTramInOpOnderhoudsSpoor(Tram tram, DatabaseController dc) //ToDo: Rekening houden met verbinding. { OnderhoudController oc = new OnderhoudController(huidigeRemise); Onderhoud onderhoud = oc.GetOnderhoud(tram); Spoor spoor = oc.GetVrijOnderhoudsSpoor(); if (spoor != null) { Sector sector = spoor.GetEersteSector(); sector.PlaatsTram(tram); if (sector.ID == spoor.Sectoren[(spoor.Sectoren.Count - 1)].ID) { spoor.Beschikbaar = false; } dc.UpdateSpoor(spoor); dc.UpdateSector(sector, huidigeRemise); dc.UpdateTram(sector.Tram); } else { DeelTramInVolgensAlgoritme(tram, dc); } }
/// <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); } }