コード例 #1
0
        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;
            }
        }
コード例 #2
0
 private void OnRFIDRead(RFIDReadEventArgs e)
 {
     RFIDReadEvent?.Invoke(this, e);
 }