/// <summary> /// Voegt een onderhoudsbeurt toe aan de database /// </summary> /// <param name="sch">De onderhoud die moet worden toegevoegd</param> /// <returns>Of onderhoud is toegevoegt aan de database of niet.</returns> public bool AddOnderhoud(Onderhoud ond) { try { //Todo nextval? string sql = "INSERT INTO TRAM_ONDERHOUD ( Medewerker_ID, Tram_ID, DatumTijdstip, BeschikbaarDatum, TypeOnderhoud ) VALUES ( :Medewerker_ID, :Tram_ID, :DatumTijdstip, :BeschikbaarDatum, :TypeOnderhoud )"; OracleCommand command = MaakOracleCommand(sql); command.Parameters.Add(":Medewerker_ID", ond.AdID); command.Parameters.Add(":Tram_ID", ond.Tram.ID); command.Parameters.Add(":DatumTijdstip", ond.Tijdstip); command.Parameters.Add(":BeschikbaarDatum", ond.BeschikbaarDatum); command.Parameters.Add(":TypeOnderhoud", Convert.ToInt32(ond.TypeOnderhoud)); return(VoerNonQueryUit(command)); } catch { return(false); } finally { verbinding.Close(); } }
public List <Onderhoud> GetAllOnderhoud(Remise r) { try { List <Onderhoud> onderhoudList = new List <Onderhoud>(); List <Tram> trams = GetAllTrams(r); string sql = "SELECT * FROM TRAM_ONDERHOUD"; // Moet nog worden ingevuld. OracleCommand cmd = MaakOracleCommand(sql); OracleDataReader reader = VoerQueryUit(cmd); while (reader.Read()) { int id = Convert.ToInt32(reader.GetValue(0)); int adid = Convert.ToInt32(reader.GetValue(1)); Tram tram = VerkrijgTram(trams, Convert.ToInt32(reader.GetValue(2))); DateTime tijdstip = Convert.ToDateTime(reader.GetValue(3)); DateTime beschikbaarDatum = Convert.ToDateTime(reader.GetValue(4)); TypeOnderhoud typeOnderhoud = (TypeOnderhoud)Convert.ToInt32(reader.GetValue(5)); Onderhoud o = new Onderhoud(id, adid, tram, tijdstip, beschikbaarDatum, typeOnderhoud); onderhoudList.Add(o); } return(onderhoudList); } finally { verbinding.Close(); } }
/// <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> /// Voegt een reparatie toe aan de database. /// </summary> /// <param name="reparatie"></param> /// <param name="tram"></param> /// <param name="opmerking"></param> /// <param name="date"></param> /// <param name="bevestigd"></param> /// <returns></returns> public void AddOnderhoud(Onderhoud onderhoud) { DatabaseController dc = new DatabaseController(); if (!dc.AddOnderhoud(onderhoud)) { throw new OnderhoudToevoegException("Onderhoud kon niet worden toegevoegd aan de database!"); } }