示例#1
0
        /// <summary>
        /// Simulatie, simuleert het binnenkomen van de trams. De trams worden ingedeeld naar de sporen/sectoren.
        /// </summary>
        public void Simulatie()
        {
            TramIndeling indeling = new TramIndeling();
            List <Tram>  tramList = TramManager.Trams;

            foreach (Tram t in tramList)
            {
                List <Sector> ingedeeldeSectors = indeling.DeelTramIn(t);

                if (ingedeeldeSectors == null)
                {
                    Console.WriteLine("Niet ingedeeld: " + t.Id);
                }
                else
                {
                    simulatieSectors.AddRange(ingedeeldeSectors);
                    Control.ControlCollection controls = PanelTBS.Controls;
                    foreach (Control c in controls)
                    {
                        foreach (Sector s in ingedeeldeSectors)
                        {
                            if ((String)c.Tag == Convert.ToString(s.Id) + "_" + Convert.ToString(s.SpoorNummer) + "-" + Convert.ToString(s.Nummer))
                            {
                                c.Text = t.nummer.ToString();
                                Refresh();
                            }
                        }
                    }
                }
            }
        }
示例#2
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);
                }
            }
        }