public void Log(Segment segment) { Database db = new Database(); try { db.CreateCommand("INSERT INTO tram_log(tram_id, segment_id) VALUES(:tram, :segment)"); db.AddParameter("tram", Id); db.AddParameter("segment", segment != null ? segment.Id : 0); db.Execute(); } catch(Exception ex) { throw ex; } finally { db.Close(); } }
public void ChangeSegment(Segment segment) { Database db = new Database(); try { db.CreateCommand("UPDATE tram SET segment_id = :segmentId WHERE id = :id"); db.AddParameter("segmentId", segment != null ? segment.Id : 0); db.AddParameter("id", Id); db.Open(); db.Execute(); Log(segment); } catch (Exception ex) { throw ex; } finally { db.Close(); } }
//Haal de gegevens op aan de hand van het spoornummer en segmentnummer geef de instantie van dat segment terug. public static Segment GetBySpoornummerAndSegmentnummer(int spoornummer, int segmentnummer) { Segment segment = null; Database db = new Database(); try { db.CreateCommand( "SELECT segment.* FROM segment " + "LEFT JOIN spoor ON spoor.id = segment.spoor_id " + "WHERE spoor.nummer = :spoornummer and segment.nummer = :segmentnummer"); db.AddParameter("spoornummer", spoornummer); db.AddParameter("segmentnummer", segmentnummer); if (db.Read()) { bool geblokkeerd = db.GetValueByColumn<string>("status") == "geblokkeerd"; segment = new Segment(db.GetValueByColumn<int>("id"), geblokkeerd, db.GetValueByColumn<int>("nummer"), db.GetValueByColumn<string>("special"), db.GetValueByColumn<int>("spoor_id")); } } catch (Exception ex) { throw ex; } finally { db.Close(); } return segment; }
//Haal de gegevens op aan de hand van het IDnummer en geeft de instantie van dat segment terug public static Segment GetById(int id) { Segment segment = null; Database db = new Database(); try { db.CreateCommand("SELECT * FROM segment WHERE id = :id"); db.AddParameter("id", id); if (db.Read()) { bool geblokkeerd = db.GetValueByColumn<string>("status") == "geblokkeerd"; segment = new Segment(db.GetValueByColumn<int>("id"), geblokkeerd, db.GetValueByColumn<int>("nummer"), db.GetValueByColumn<string>("special"), db.GetValueByColumn<int>("spoor_id")); } } catch (Exception ex) { throw ex; } finally { db.Close(); } return segment; }
private void PlaceTram(Segment segment, Tram tram) { //checked of de tram in de lijst van reserveringen staat, zoja verwijderd de tram uit de lijst foreach (ListViewItem item in listViewReservations.Items) { if (item.SubItems[0].Text == tram.Nummer.ToString()) { item.Remove(); } } Output("Tram: " + tram.Nummer + "(" + tram.Type + ") op " + segment.Spoor.Nummer + " . " + segment.Nummer); segment.ChangeTram(tram); RefreshInterface(); }