Example #1
0
        /// <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);
        }
Example #2
0
        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";
            }
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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");
            }
        }
Example #6
0
        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");
            }
        }
Example #7
0
        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);
            }
        }
Example #9
0
        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);
        }
Example #11
0
 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);
         }
     }
 }
Example #12
0
        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);
        }
Example #13
0
        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 = "";
                    }
                }
            }
        }
Example #14
0
        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);
        }
Example #15
0
        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();
        }
Example #16
0
        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!");
            }
        }
Example #17
0
        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");
            }
        }