public Spoor(int id, Remise remise, int nummer, int lengte, bool beschikbaar, SpoorType spoorType) { this.id = id; this.remise = remise; this.nummer = nummer; this.lengte = lengte; this.beschikbaar = beschikbaar; this.spoorType = spoorType; this.sectoren = new List <Sector>(); }
//constructor public Spoor(int spoornummer, int spoorstatus, SpoorType spoortype) { this.spoorNummer = spoornummer; sectoren = new List <Sector>(); if (spoorstatus == 0) { this.spoorStatus = Scripts.SpoorStatus.InGebruik; } else { this.spoorStatus = Scripts.SpoorStatus.Leeg; } this.spoorType = spoortype; }
/// <summary> /// Deze methode verkrijgt een lijst met alle sporen, van ieder spoor krijgen we ook de sectoren. /// </summary> /// <returns></returns> public List <Spoor> GetAllSporen(Remise r) { try { List <Spoor> sporen = new List <Spoor>(); List <Sector> sectoren = GetAllSectoren(r); string sql = "SELECT * FROM SPOOR WHERE REMISE_ID = :Remise_ID"; OracleCommand cmd = MaakOracleCommand(sql); cmd.Parameters.Add(":Remise_ID", r.ID); OracleDataReader reader = VoerQueryUit(cmd); while (reader.Read()) { int id = Convert.ToInt32(reader.GetValue(0)); int nummer = Convert.ToInt32(reader.GetValue(2)); int lengte = Convert.ToInt32(reader.GetValue(3)); bool beschikbaar = Convert.ToBoolean(reader.GetValue(4)); SpoorType type = (SpoorType)Convert.ToInt32(reader.GetValue(5)); Spoor spoor = new Spoor(id, r, nummer, lengte, beschikbaar, type); foreach (Sector s in sectoren) { if (spoor.ID == s.SpoorID) { spoor.SectorToevoegen(s); } } sporen.Add(spoor); } return(sporen); } catch { throw new NoSporenFoundException("Geen sporen gevonden in DatabaseController: GetAllSporen"); } finally { verbinding.Close(); } }
/// <summary> /// Deze methode verkrijgt een lijst met alle sporen, van ieder spoor krijgen we ook de sectoren. /// </summary> /// <returns></returns> public List <Spoor> GetAllSporen() { try { List <Spoor> sporen = new List <Spoor>(); string sql = "SELECT * FROM SPOOR"; OracleCommand command = MaakOracleCommand(sql); OracleDataReader reader = VoerQueryUit(command); while (reader.Read()) { int spoornummer = Convert.ToInt32(reader.GetValue(0)); int spoorstatus = Convert.ToInt32(reader.GetValue(1)); SpoorType spoortype = (SpoorType)Convert.ToInt32(reader.GetValue(2)); sporen.Add(new Spoor(spoornummer, spoorstatus, spoortype)); } List <Sector> sectoren = GetAllSectoren(); //Voegt alle sectoren toe aan het juiste spoor. foreach (Sector sector in sectoren) { foreach (Spoor spoor in sporen) { if (sector.SpoorNummer == spoor.SpoorNummer) { spoor.SectorToevoegen(sector); } } } return(sporen); } catch { return(null); } finally { verbinding.Close(); } }