// Eksempel på event handler for eventet "RFID Detected" fra tilstandsdiagrammet for klassen private void RfidDetected(int id) { switch (_state) { case LadeskabState.Available: // Check for ladeforbindelse if (_chargeControl.IsConnected() && _doorOpenState == false) { _door.LockDoor(); _chargeControl.StartCharge(); _oldId = id; _filelogger.LogDoorLocked(id); _consoleWriter.LockedMessage(); //Skriver at skabet er låst _state = LadeskabState.Locked; _stationState = (int)_state; } else { _consoleWriter.NotConnectedMessage(); // Mobilen sidder ikke ordenligt i lader besked } break; case LadeskabState.DoorOpen: _consoleWriter.CloseDoorMessage(); break; case LadeskabState.Locked: // Check for correct ID if (id == _oldId) { _chargeControl.StopCharge(); _door.UnlockDoor(); _filelogger.LogDoorUnlocked(id); _consoleWriter.UnlockedMessage(); // Døren er oplåst besked _state = LadeskabState.Available; _stationState = (int)_state; } else { _consoleWriter.WrongRFid(); //Forkert RF-id besked } break; } }