protected async void ExecuteScanBridgesAsync() { IsScanningBridges = true; ScanBridgesCommand.RaiseCanExecuteChanged(); var rv = await _bridgeFinder.GetBridgesAsync(_connection); Bridges.Clear(); _firstBridgeViewModel = null; if (!rv.IsError()) { foreach (Bridge bridge in ((HueObjectCollectionBase <Bridge>)rv).Dictionary.Values) { SettingsInitialiser.InitialiseScenes(_settings, bridge); var bridgeViewModel = new BridgeViewModel(bridge, _settings, _commandFactory, _messageHandler); if (_firstBridgeViewModel == null) { _firstBridgeViewModel = new ConnectedBridgeViewModel(bridge, _settings, _commandFactory, _messageHandler); RaisePropertyChanged("FirstBridge"); } Bridges.Add(bridgeViewModel); if (_settings.Bridge.Value != null && _settings.Bridge.Value == bridge.InternalIPAddress) { SelectedBridge = bridgeViewModel; //SelectedBridge.ConnectAsync().ContinueWith(o => RaisePropertyChanged("SelectedBridge")); } } } else { Bridges = new ObservableCollection <BridgeViewModel>(); } IsScanningBridges = false; ScanBridgesCommand.RaiseCanExecuteChanged(); }
public HueDesktopAppViewModel() : base(SettingsInitialiser.Initialise("Hue.UI.Desktop", LocalSettings.Default), new DelegateCommandFactory(), MessageHandlerViewModel.Instance) { }