private void Update(WindowStateChangedEventArgs eventArgs) { WindowStateValue newState; if (eventArgs.OpenReedSwitchState == AdapterSwitchState.Open) { newState = WindowStateValue.Open; } else if (eventArgs.TildReedSwitchState.HasValue && eventArgs.TildReedSwitchState.Value == AdapterSwitchState.Open) { newState = WindowStateValue.TildOpen; } else { newState = WindowStateValue.Closed; } if (newState.Equals(_state)) { return; } var oldState = GetState(); _state = newState; if (!_settingsService.GetSettings <ComponentSettings>(this).IsEnabled) { return; } OnStateChanged(oldState); if (_state == WindowStateValue.Closed) { _messageBroker.Publish(Id, new WindowClosedEvent()); } else { _messageBroker.Publish(Id, new WindowOpenedEvent()); } }
private void Update(WindowStateChangedEventArgs eventArgs) { WindowStateValue newState; if (eventArgs.OpenReedSwitchState == AdapterSwitchState.Open) { newState = WindowStateValue.Open; } else if (eventArgs.TildReedSwitchState.HasValue && eventArgs.TildReedSwitchState.Value == AdapterSwitchState.Open) { newState = WindowStateValue.TildOpen; } else { newState = WindowStateValue.Closed; } if (newState.Equals(_state)) { return; } var oldState = GetState(); _state = newState; if (!_settingsService.GetSettings<ComponentSettings>(this).IsEnabled) { return; } OnStateChanged(oldState); if (_state == WindowStateValue.Closed) { ((Trigger)ClosedTrigger).Execute(); } else { ((Trigger)OpenedTrigger).Execute(); } }