// Eksempel på event handler for eventet "RFID Detected" fra tilstandsdiagrammet for klassen
        //Metode til når man scanner id-kortet på Rfid-readeren
        private void RfidDetected(int id)
        {
            switch (_state)
            {
            case ChargeBoxState.Available:
                // Check for ladeforbindelse
                if (_charger.GetConnected())
                {
                    _doorSimulator.LockDoor();
                    _charger.StartCharge();
                    _oldId = id;

                    _fileLog.LogDoorLocked(id);

                    _display.Print("Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op.");

                    _state = ChargeBoxState.Locked;
                }
                else
                {
                    _display.Print("Din telefon er ikke ordentlig tilsluttet. Prøv igen.");
                }

                break;

            case ChargeBoxState.DoorOpen:
                // Ignore
                break;

            case ChargeBoxState.Locked:
                // Check for correct ID
                if (id == _oldId)
                {
                    _charger.StopCharge();

                    _doorSimulator.UnlockDoor();

                    _fileLog.LogDoorUnlocked(id);

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

                break;
            }
        }
示例#2
0
 public void GetConnectedFromCharger()
 {
     _usbCharger.Connected = true;
     _connected            = _uut.GetConnected();
     Assert.That(_connected, Is.EqualTo(true));
 }