예제 #1
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);
                }
            }
        }
예제 #2
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");
        }
예제 #3
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!");
            }
        }
예제 #4
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);
                }
            }
        }
예제 #5
0
        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");
            }
        }