/// <summary> /// Controleert of een tram schoongemaakt moet worden /// </summary> /// <param name="tram">Tram die gecontroleert moet worden</param> /// <returns></returns> public bool TramControleerSchoonmaak(Tram tram) { DatabaseController dc = new DatabaseController(); schoonmaak = dc.GetAllSchoonmaak(); foreach (Schoonmaak s in schoonmaak) { if (s.Tram.ID == tram.ID) { return(true); } } return(false); }
/// <summary> /// Haalt een lijst op van alle trams die in reparatie zijn. /// </summary> /// <returns></returns> public List <Tram> GetKapotteTrams() { DatabaseController dc = new DatabaseController(); List <Tram> trams = dc.GetAllTrams(); foreach (Reparatie r in reparatie) { foreach (Tram tram in trams.ToList()) { if (r.Tram.TramNummer == tram.TramNummer) { trams.Remove(tram); } } } return(trams); }
/// <summary> /// Haalt alle trams op die in schoonmaak zijn. /// </summary> /// <returns></returns> public List <Tram> GetViezeTrams() { DatabaseController dc = new DatabaseController(); List <Tram> trams = dc.GetAllTrams(); foreach (Schoonmaak sch in schoonmaak) { foreach (Tram tram in trams.ToList()) { if (sch.Tram.TramNummer == tram.TramNummer) { trams.Remove(tram); } } } return(trams); }
/// <summary> /// Deelt de tram in op een leeg reparatiespoor. /// </summary> /// <param name="tram">De tram die ingedeelt moet worden.</param> /// <param name="dc">De databasecontroller die verbinding maakt met de database</param> public void DeelTramInOpReparatieSpoor(Tram tram, DatabaseController dc) { Spoor repSpoor = VerkrijgVrijReparatieSpoor(); //Verkrijgt een leeg reparatie spoor. Sector legeSector = repSpoor.VerkrijgEerstLegeSector(); //Verkrijgt een lege sector op het verkregen schoonmaakspoor. if (legeSector != null) //indien legesector bestaat deel de tram dan in op die sector. { legeSector.Tram = tram; legeSector.Status = SectorStatus.bezet; dc.UpdateSector(legeSector); tram.Status = TramStatus.Geparkeerd; dc.UpdateTram(tram); } else //wanneer legesector niet bestaat deel de tram dan in volgens het normaal indelingsalgoritme. { DeelTramInVolgensAlgoritme(tram, dc); } }
/// <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; } } }
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); } } } } }
public ReparatieController() { DatabaseController dc = new DatabaseController(); reparatie = dc.GetAllReparatie(); }
} //schoonmaaklijst public SchoonmaakController() { DatabaseController dc = new DatabaseController(); schoonmaak = dc.GetAllSchoonmaak(); }
public bool VerwijderReservering(Reservering r) { DatabaseController dc = new DatabaseController(); return(dc.DeleteReservering(r.ID)); }
public BeheerController() { dc = new DatabaseController(); trams = dc.GetAllTrams(); sporen = GetAllSporen(); }