示例#1
0
        private void RfidDetected(int id)
        {
            switch (_state)
            {
            case LadeskabState.Available:
                // Check for ladeforbindelse

                if (_charger.IsConnected)
                {
                    _door.LockedDoor();
                    _charger.startCharge();
                    _oldId = id;

                    Console.WriteLine("DU ER INDE I LADESKABSTATE.Available Og IF" +
                                      " Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op.");
                    _state = LadeskabState.Locked;
                }
                else
                {
                    Console.WriteLine("DU ER INDE I LADESKABSTATE.Available OG INDE I ELSE." +
                                      " Din telefon er ikke ordentlig tilsluttet. Prøv igen.");
                }

                break;

            case LadeskabState.DoorOpen:
                Console.WriteLine("Døren er åben så den kan ikke låses");
                // Ignore
                break;

            case LadeskabState.Locked:
                // Check for correct ID
                if (id == _oldId)
                {
                    _charger.stopCharge();
                    _door.UnlockedDoor();

                    Console.WriteLine("DU ER INDE I LADESKABSTATE.LOCKED OG INDE I IF" +
                                      ". Tag din telefon ud af skabet og luk døren");
                    _state = LadeskabState.Available;
                }
                else
                {
                    Console.WriteLine("DU ER INDE I LADESKABSTATE.LOCKED OG INDE I ELSE" +
                                      ". Forkert RFID tag");
                }

                break;
            }
        }
示例#2
0
        public void RfidDetected(int id_rfid)
        {
            switch (_state)
            {
            case LadeSkabsState.Locked:
                if (CheckId(_oldId, id_rfid))
                {
                    _chargeControl.stopCharge();
                    _door.unlockDoor();

                    _log.PrintToFile(": Skab låst op med RFID: ", id_rfid);

                    _display.display("Tag din telefon ud af skabet og luk døren", 1);
                    _state = LadeSkabsState.Available;
                }
                else
                {
                    _display.display("Forkert RFID tag", 1);
                }


                break;

            // case LadeSkabsState.DoorOpen:
            //   break;

            case LadeSkabsState.Available:
                if (_chargeControl.isConnected())
                {
                    _door.lockDoor();
                    _chargeControl.startCharge();
                    _oldId = id_rfid;

                    _log.PrintToFile(": Skab låst med RFID: ", id_rfid);

                    _display.display("Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op.", 1);
                    _state = LadeSkabsState.Locked;
                }
                else
                {
                    _display.display("Din telefon er ikke ordentlig tilsluttet. Prøv igen", 1);
                }

                break;
            }
        }