/// <summary> /// Zoekt vrije sectors waar de tram (qua lengte) op kan staan /// </summary> /// <param name="spoor">spoor waarin sectoren gezocht moeten worden</param> /// <param name="tram">tram die geplaatst moet worden</param> /// <returns></returns> private List <Sector> vrijeSectoren(Spoor spoor, Tram tram, int beginsectornummer, bool reverse) { List <Sector> spoorSectors = RemiseManager.sectorenVanSpoor(spoor.Id); List <Sector> sectors = new List <Sector>(); if (reverse) { spoorSectors.Reverse(); // Reverse list, zodat de tram eerst op de achterste sectoren v/h spoor komt te staan } foreach (Sector s in spoorSectors) { if (s.Blokkade) { sectors.Clear(); } if (sectors.Count < tram.lengte) { if (s.Beschikbaar && !s.Blokkade && s.Tram == null && s.Nummer >= beginsectornummer) { sectors.Add(s); } else { sectors.Clear(); } } } return(sectors); }
private void button1_Click(object sender, EventArgs e) { string spoornummer; string sectornummer; if (cbTrams.SelectedItem == null) { MessageBox.Show("Selecteer eerst een tram!"); return; } foreach (Tram tram in TramManager.Trams) { if (tram.nummer == Convert.ToInt32(cbTrams.Text)) { if (RemiseManager.sectorViaTram(tram) == null) { spoornummer = "geen"; sectornummer = "geen"; } else { sectornummer = Convert.ToString(RemiseManager.sectorViaTram(tram).Nummer); Spoor spoor = RemiseManager.spoorViaId(RemiseManager.sectorViaTram(tram).SpoorNummer); spoornummer = Convert.ToString(spoor.Nummer); } string status = tram.status; var tram1 = new ListViewItem(new[] { Convert.ToString(tram.nummer), Convert.ToString(tram.tramtype), spoornummer, sectornummer, status, Convert.ToString(tram.vervuild), Convert.ToString(tram.vervuild), Convert.ToString(tram.defect), Convert.ToString(tram.beschikbaar) }); lvwTrams.Items.Add(tram1); } } }
private void cbSchoonmaak_SelectedIndexChanged(object sender, EventArgs e) { string onderhoudString = Convert.ToString(cbSchoonmaak.SelectedItem); Tramonderhoud selectedOnderhoud = TramManager.OnderhoudFromString(onderhoudString); tbxSchoonmaak.Text = selectedOnderhoud.Opmerking; if (RemiseManager.sectorViaTram(selectedOnderhoud.Tram) != null) { tbxSchoonmaakSector.Text = Convert.ToString(RemiseManager.sectorViaTram(selectedOnderhoud.Tram).Nummer); } else { tbxSchoonmaakSector.Text = "geen"; } if (RemiseManager.sectorViaTram(selectedOnderhoud.Tram) != null) { tbxSchoonmaakSpoor.Text = Convert.ToString(RemiseManager.sectorViaTram(selectedOnderhoud.Tram).SpoorNummer); } else { tbxSchoonmaakSpoor.Text = "geen"; } }
public OnderhoudApplicatie() { InitializeComponent(); //voegt alle medewerkersnamen toe in de comboboxes foreach (Medewerker medewerker in RemiseManager.Medewerkers) { cbReparatieMedewerker.Items.Add(medewerker.Naam); cbSchoonmaakMedewerker.Items.Add(medewerker.Naam); } string spoornummer; string sectornummer; //voegt alle trams+info toe in de listview foreach (Tram tram in TramManager.Trams) { if (RemiseManager.sectorViaTram(tram) == null) { spoornummer = "geen"; sectornummer = "geen"; } else { spoornummer = Convert.ToString(RemiseManager.sectorViaTram(tram).SpoorNummer); sectornummer = Convert.ToString(RemiseManager.sectorViaTram(tram).Nummer); } var tram1 = new ListViewItem(new[] { Convert.ToString(tram.Id), Convert.ToString(tram.nummer), Convert.ToString(tram.tramtype), spoornummer, sectornummer, Convert.ToString(tram.vervuild), Convert.ToString(tram.vervuild), Convert.ToString(tram.defect), Convert.ToString(tram.vervuild) }); var tram2 = new ListViewItem(new[] { Convert.ToString(tram.Id), Convert.ToString(tram.nummer), Convert.ToString(tram.tramtype), spoornummer, sectornummer, Convert.ToString(tram.vervuild), Convert.ToString(tram.vervuild), Convert.ToString(tram.defect), Convert.ToString(tram.defect) }); lvwSchoonmaak.Items.Add(tram1); lvwReparatie.Items.Add(tram2); } }
private void btnSchoonmaakBevestiging_Click(object sender, EventArgs e) { Tram selectedTram = TramManager.tramViaId(Convert.ToInt32(lvwSchoonmaak.Items[lvwSchoonmaak.FocusedItem.Index].SubItems[0].Text)); string opmerking = tbxSchoonmaakBevestiging.Text; TypeOnderhoud Schoonmaak; Medewerker medewerker = RemiseManager.medewerkerViaNaam(Convert.ToString(cbSchoonmaakMedewerker.SelectedItem)); DateTime beschikbaarDatum = dtpSchoonmaak.Value; if (rbtSchoonmaakGroot.Checked) { Schoonmaak = TypeOnderhoud.GroteSchoonmaak; selectedTram.Onderhoud(Schoonmaak, opmerking, beschikbaarDatum, medewerker); MessageBox.Show("toegevoegd!"); } else if (rbtSchoonmaakKlein.Checked) { Schoonmaak = TypeOnderhoud.KleineSchoonmaak; selectedTram.Onderhoud(Schoonmaak, opmerking, beschikbaarDatum, medewerker); MessageBox.Show("toegevoegd!"); } else { MessageBox.Show("Selecteer een schoonmaaktype"); } }
private void btnReparatieBevestiging_Click(object sender, EventArgs e) { Tram selectedTram = TramManager.tramViaId(Convert.ToInt32(lvwReparatie.Items[lvwReparatie.FocusedItem.Index].SubItems[0].Text)); string opmerking = tbxReparatieBevestiging.Text; TypeOnderhoud reparatie; Medewerker medewerker = RemiseManager.medewerkerViaNaam(Convert.ToString(cbReparatieMedewerker.SelectedItem)); DateTime beschikbaarDatum = dtpReparatie.Value; if (rbtReparatieGroot.Checked) { reparatie = TypeOnderhoud.GroteReparatie; selectedTram.Onderhoud(reparatie, opmerking, beschikbaarDatum, medewerker); MessageBox.Show("toegevoegd!"); } else if (rbtReparatieKlein.Checked) { reparatie = TypeOnderhoud.KleineReparatie; selectedTram.Onderhoud(reparatie, opmerking, beschikbaarDatum, medewerker); MessageBox.Show("toegevoegd!"); } else { MessageBox.Show("Selecteer een reparatietype"); } }
public string DeelTramInOpSector(Tram tram, Sector sector) { List <Sector> vrijeSpoorSectors = null; List <Sector> ingedeeldeSectors = new List <Sector>(); Sector beginSector = sector; Spoor spoorvanSector = RemiseManager.spoorViaId(sector.SpoorNummer); if (beginSector != null) { if (!beginSector.Blokkade) { if (beginSector.Beschikbaar) { if (spoorvanSector.SectorList.Count() - beginSector.Nummer >= tram.lengte) { //Ok up to here vrijeSpoorSectors = vrijeSectoren(spoorvanSector, tram, beginSector.Nummer, true); foreach (Sector s in vrijeSpoorSectors) { if (s.Nummer >= sector.Nummer) { ingedeeldeSectors.Add(s); } } foreach (Sector s in ingedeeldeSectors) { if (s.Nummer < 30) { ingedeeldeSectors = null; return("Sector is schoonmaak of reparatie-sector."); } } if (ingedeeldeSectors.Count() < tram.lengte) { ingedeeldeSectors = null; return("niet genoeg vrije sectoren"); } if (ingedeeldeSectors != null && ingedeeldeSectors.Any()) { voegTramAanSectorsToe(ingedeeldeSectors, tram, true); return("Tram toegevoegd."); } } else { return("niet genoeg sectoren op spoor."); } } } else { return("Sector geblokkeerd"); } } return("Sector niet gevonden"); }
private void cbSpoor_SelectedIndexChanged(object sender, EventArgs e) { int SpoorNummer = Convert.ToInt32(cbSpoor.Text); Spoor spoor = RemiseManager.spoorViaNummer(SpoorNummer); cbSector.Items.Clear(); foreach (Sector sec in spoor.SectorList) { cbSector.Items.Add(sec.Nummer); } }
public static List <Tram> LaadTrams() { List <Tram> trams = new List <Tram>(); try { connection.Open(); OracleCommand command = new OracleCommand("SELECT * FROM TRAM"); command.CommandType = CommandType.Text; command.Connection = connection; OracleDataReader reader = command.ExecuteReader(); if (!reader.HasRows) { return(trams); } else { while (reader.Read()) { int id = Convert.ToInt32(reader["ID"]); Tramtype tramtype = (Tramtype)Convert.ToInt32(reader["Tramtype_ID"]) - 1; int nummer = Convert.ToInt32(reader["Nummer"]); int lengte = Convert.ToInt32(reader["Lengte"]); string status = Convert.ToString(reader["Status"]); Remise remise = RemiseManager.remiseViaId(Convert.ToInt32(reader["Remise_ID_Standplaats"])); bool vervuild = convertBool(Convert.ToString(reader["Vervuild"])); bool defect = convertBool(Convert.ToString(reader["Defect"])); bool conducteurGeschikt = convertBool(Convert.ToString(reader["ConducteurGeschikt"])); bool beschikbaar = convertBool(Convert.ToString(reader["Beschikbaar"])); trams.Add(new Tram(id, tramtype, nummer, lengte, status, remise, vervuild, defect, conducteurGeschikt, beschikbaar)); } } } catch (Exception) { throw; } finally { connection.Close(); } return(trams); }
private void btnSpoorstatus_Click(object sender, EventArgs e) { int SectorNR; int SpoorNR; if (!int.TryParse(cbSector.Text, out SectorNR) || !int.TryParse(cbSpoor.Text, out SpoorNR)) { MessageBox.Show("Voer geldige nummers in"); return; } Spoor spoor = RemiseManager.spoorViaNummer(SpoorNR); foreach (Sector sector in spoor.SectorList) { if (sector.Nummer == SectorNR && sector.Blokkade == true) { MessageBox.Show("Sector is vrijgemaakt"); sector.Deblokkeer(); DatabaseManager.registreerSectorStatus(sector); foreach (Sector sector1 in spoor.SectorList) { if (sector1.Nummer > SectorNR && sector1.Blokkade == true) { sector1.Deblokkeer(); DatabaseManager.registreerSectorStatus(sector1); } } } else if (sector.Nummer == SectorNR && sector.Blokkade == false) { MessageBox.Show("Sector is Geblokkeerd"); sector.Blokkeer(); DatabaseManager.registreerSectorStatus(sector); foreach (Sector sector1 in spoor.SectorList) { if (sector1.Nummer > SectorNR) { sector1.Blokkeer(); DatabaseManager.registreerSectorStatus(sector1); } } } } mainForm.refreshEenSpoor(spoor); }
private void btnBevestig_Click(object sender, EventArgs e) { if (cbSporen.SelectedItem == null) { MessageBox.Show("Selecteer eerst een spoor!"); return; } foreach (Spoor spoor in RemiseManager.Sporen) { if (spoor.Nummer == Convert.ToInt32(cbSporen.Text)) { int lengte = RemiseManager.sectorenVanSpoor(spoor.Id).Count; var spoor1 = new ListViewItem(new[] { Convert.ToString(spoor.Nummer), Convert.ToString(spoor.Remise), Convert.ToString(lengte), Convert.ToString(spoor.Beschikbaar) }); lvwTrams.Items.Add(spoor1); } } }
public static List <Spoor> LaadSporen() { List <Spoor> sporen = new List <Spoor>(); try { if (connection.State != ConnectionState.Open) { connection.Open(); } OracleCommand command = new OracleCommand("SELECT * FROM SPOOR"); command.CommandType = CommandType.Text; command.Connection = connection; OracleDataReader reader = command.ExecuteReader(); if (!reader.HasRows) { return(sporen); } else { while (reader.Read()) { int id = Convert.ToInt32(reader["ID"]); Remise remise = RemiseManager.remiseViaId(Convert.ToInt32(reader["Remise_ID"])); int nummer = Convert.ToInt32(reader["Nummer"]); int lengte = Convert.ToInt32(reader["Lengte"]); bool beschikbaar = convertBool(Convert.ToString(reader["Beschikbaar"])); bool inUitrijSpoor = convertBool(Convert.ToString(reader["InUitRijspoor"])); sporen.Add(new Spoor(id, remise, nummer, lengte, beschikbaar, inUitrijSpoor, RemiseManager.sectorenVanSpoor(id))); } } } catch (Exception) { throw; } finally { connection.Close(); } return(sporen); }
public void refreshEenSpoor(Spoor spoor) { Control.ControlCollection panelCollection = PanelTBS.Controls; bool tramopSpoor = false; //SeId_SeSpNo_SeNo foreach (Control c in panelCollection) { string tag = string.Empty; string spoorid = string.Empty; string sectorid = string.Empty; int sectoridint = 0; if (c.Tag != null && c.Tag != "") { tag = (String)c.Tag; spoorid = tag.Substring(tag.IndexOf("_") + 1, tag.IndexOf("-") - tag.IndexOf("_") - 1); } if (spoorid == spoor.Id.ToString()) { sectorid = tag.Substring(0, tag.IndexOf("_")); Int32.TryParse(sectorid, out sectoridint); Sector sector = RemiseManager.sectorViaId(sectoridint); TextBox sectortb = (TextBox)c; if ((sector.Blokkade || tramopSpoor) && sector.Tram == null) { sectortb.Enabled = false; } else { sectortb.Enabled = true; } if (sector.Tram != null) { sectortb.Text = sector.Tram.nummer.ToString(); tramopSpoor = true; } else { sectortb.Text = ""; } } } }
public static List <Tramonderhoud> LaadTramonderhoud() { List <Tramonderhoud> onderhoudsBeurten = new List <Tramonderhoud>(); try { connection.Open(); OracleCommand command = new OracleCommand("SELECT * FROM TRAM_ONDERHOUD WHERE Voltooid = 0"); command.CommandType = CommandType.Text; command.Connection = connection; OracleDataReader reader = command.ExecuteReader(); if (!reader.HasRows) { return(onderhoudsBeurten); } else { while (reader.Read()) { int id = Convert.ToInt32(reader["ID"]); Medewerker medewerker = RemiseManager.medewerkerViaId(Convert.ToInt32(reader["Medewerker_ID"])); Tram tram = TramManager.tramViaId(Convert.ToInt32(reader["Tram_ID"])); DateTime beschikbaarDatum = Convert.ToDateTime(reader["BeschikbaarDatum"]); DateTime datumTijd = Convert.ToDateTime(reader["DatumTijdStip"]); TypeOnderhoud typeOnderhoud = (TypeOnderhoud)Convert.ToInt32(reader["TypeOnderhoud"]) - 1; string opmerking = Convert.ToString(reader["Notitie"]); onderhoudsBeurten.Add(new Tramonderhoud(id, medewerker, tram, beschikbaarDatum, datumTijd, typeOnderhoud, opmerking)); } } } catch (Exception) { throw; } finally { connection.Close(); } return(onderhoudsBeurten); }
public TramBeheerSysteem() { this.WindowState = FormWindowState.Maximized; InitializeComponent(); RemiseManager.LaadRemises(); TramManager.LaadTrams(); RemiseManager.LaadSporen(); RefreshSporen(); foreach (Tram t in TramManager.Trams) { cbTrams.Items.Add(Convert.ToString(t.nummer)); } cbTrams.Sorted = true; foreach (Medewerker medewerker in RemiseManager.Medewerkers) { gebruikerToolStripMenuItem.DropDownItems.Add(Convert.ToString(medewerker.Functie)); } laadRFID(); }
private void VerwijderTram(string tramnummer) { bool tramgevonden = false; if (tramnummer == string.Empty) { MessageBox.Show("Selecteer een tram"); return; } int TramNr = Convert.ToInt32(tramnummer); foreach (Tram tram in TramManager.Trams) { if (tram.nummer == TramNr) { foreach (Sector s in RemiseManager.Sectors) { Sector sectorCheck = RemiseManager.sectorViaTram(tram); if (sectorCheck != null) { sectorCheck.ClearSector(); refreshEenSpoor(RemiseManager.spoorViaId(sectorCheck.SpoorNummer)); tramgevonden = true; DatabaseManager.registreerSectorStatus(sectorCheck); } } } } if (tramgevonden) { MessageBox.Show("Tram is succesvol verwijderd"); } else { MessageBox.Show("Tram staat niet op een sector!"); } }
void rfid_Tag(object sender, TagEventArgs e) { TramIndeling indeling = new TramIndeling(); List <Sector> toegewezenSectors = new List <Sector>(); Tram tram; Spoor spoor; Sector sector; int tramId; lblTagInfo.Text = e.Tag; rfid.LED = true; tramId = rfidTramDictionary[e.Tag]; tram = TramManager.tramViaNummer(tramId); sector = RemiseManager.sectorViaTram(tram); if (sector != null) { sector.ClearSector(); refreshEenSpoor(RemiseManager.spoorViaId(sector.SpoorNummer)); DatabaseManager.registreerSectorStatus(sector); } else { toegewezenSectors = indeling.DeelTramIn(tram); spoor = RemiseManager.spoorViaId(toegewezenSectors[0].SpoorNummer); refreshEenSpoor(spoor); foreach (Sector toegewezenSector in toegewezenSectors) { DatabaseManager.registreerSectorStatus(toegewezenSector); } } }
private void btnBevestig_Click(object sender, EventArgs e) { int tramNr; int spoorNr; int sectorNr; if (!int.TryParse(tbTramnummer.Text, out tramNr) || !int.TryParse(tbSpoornummer.Text, out spoorNr) || !int.TryParse(tbSectornummer.Text, out sectorNr)) { MessageBox.Show("Voer geldige nummers in"); return; } if (TramManager.tramViaNummer(tramNr) != null) { if (RemiseManager.spoorViaNummer(spoorNr) != null) { Spoor spoor = RemiseManager.spoorViaNummer(spoorNr); if (lbSectornummer.Text != "Sectornummer") { TramIndeling tI = new TramIndeling(); Tram tram = TramManager.tramViaNummer(tramNr); Sector sector = RemiseManager.sectorViaNummer(sectorNr, spoor); string message = tI.DeelTramInOpSector(tram, sector); MessageBox.Show(message); } else { foreach (Sector sector in spoor.SectorList) { if (sector.Nummer == sectorNr) { Tram trammetje = TramManager.tramViaNummer(tramNr); Sector sectorCheck = RemiseManager.sectorViaTram(trammetje); if (sectorCheck != null) { sectorCheck.ClearSector(); DatabaseManager.registreerSectorStatus(sectorCheck); mainForm.refreshEenSpoor(RemiseManager.spoorViaId(sectorCheck.SpoorNummer)); } if (sector.Blokkade == true) { MessageBox.Show("Sector is geblokkeerd"); return; } sector.VoegTramToe(trammetje); mainForm.refreshEenSpoor(RemiseManager.spoorViaId(sector.SpoorNummer)); DatabaseManager.registreerSectorStatus(sector); MessageBox.Show("Tram is toegevoegd"); this.Close(); return; } } } } else { MessageBox.Show("Spoor bestaat niet"); } } else { MessageBox.Show("Tram bestaat niet"); } }