public void Setup() { _rfidEvent = null; _uut = new RFIEDReader(); _uut.RFIDChangedEvent += (o, args) => { _rfidEvent = args; }; }
// Eksempel på event handler for eventet "RFID Detected" fra tilstandsdiagrammet for klassen private void RfidDetected(object o, RFIEDEventArgs e) { int id = e.RFID; switch (_state) { case LadeskabState.Available: // Check for ladeforbindelse if (_charger.IsConnected()) { _door.LockDoor(); _oldId = id; _file.LogDoorLocked(id); _charger.StartCharge(); _display.Print("Skabet er låst og din telefon lades. Brug dit RFID tag til at låse op."); _state = LadeskabState.Locked; } else { _display.Print("Din telefon er ikke ordentlig tilsluttet. Prøv igen."); } break; case LadeskabState.DoorOpen: // Ignore break; case LadeskabState.Locked: // Check for correct ID if (id == _oldId) { _charger.StopCharge(); _door.UnlockDoor(); _file.LogDoorUnlocked(id); _display.Print("Tag din telefon ud af skabet og luk døren"); _state = LadeskabState.Available; } else { _display.Print("Forkert RFID tag"); } break; } }