private void HandleRFIDRead(Object s, RFIDReadEventArgs e) { switch (_state) { case LadeskabState.Available: if (_chargeControl.IsConnected()) { _door.LockDoor(); _logfile.LogDoorLocked(e.ID); _oldId = e.ID; _state = LadeskabState.Locked; _display.DisplayUserInstructions("Ladeskab optaget."); _chargeControl.StartCharge(); } else { _display.DisplayUserInstructions("Tilslutningsfejl."); } break; case LadeskabState.DoorOpen: _display.DisplayUserInstructions("Luk døren."); break; case LadeskabState.Locked: if (e.ID == _oldId) { _chargeControl.StopCharge(); _door.UnlockDoor(); _logfile.LogDoorUnlocked(e.ID); _state = LadeskabState.Available; _display.DisplayUserInstructions("Fjern telefon."); } else { _display.DisplayUserInstructions("Forkert RFID tag."); } break; } }
private void OnRFIDRead(RFIDReadEventArgs e) { RFIDReadEvent?.Invoke(this, e); }