Example #1
0
        public async Task <bool> ConnectAsync()
        {
            IsConnecting = true;
            ConnectCommand.RaiseCanExecuteChanged();

            _bridge.Connect();

            HueObjectBase rv = await LoginAsync(_settings.ApplicationID.Value);

            if (rv.IsError())
            {
                EventHandler eventHandler = async(s, e) => await TimerCallbackAsync();

                await _messageHandler.GetResponseAsync("Information", string.Format("Please press the Link button on your bridge."), 500, 30000, MessageBoxButtons.None, eventHandler);

                return(false);
            }

            ExecuteGetLightsAsync();
            ExecuteGetGroupsAsync();
            IsConnecting = false;
            RaisePropertyChanged("IsConnected");
            ConnectCommand.RaiseCanExecuteChanged();
            return(true);
        }
Example #2
0
        private async void SetAlertAsync()
        {
            _isSettingAlert = true;
            SetAlertCommand.RaiseCanExecuteChanged();

            HueObjectBase rv = await LightSourceModel.SetAlertAsync();

            if (!rv.IsError())
            {
                bool refreshed = await LightSourceModel.RefreshAttributesAsync();

                if (refreshed)
                {
                    IsAlerting = LightSourceModel.State.Alert != "none";
                }
            }

            _isSettingAlert = false;
            SetAlertCommand.RaiseCanExecuteChanged();
        }