public GroupViewModel(Group group, BridgeViewModel bridge, IDelegateCommandFactory commandFactory, IMessageHandler messageHandler) : base(group) { _messageHandler = messageHandler; _bridge = bridge; _lights = new ObservableCollection <GroupLightViewModel>(); bridge.Lights.CollectionChanged += BridgeLightsOnCollectionChanged; _groupLightIDs = LightSourceModel.Lights.Dictionary.Keys.ToList(); InitialiseGroupViewModel(); SaveCommand = commandFactory.CreateCommand(ExecuteSaveAsync, CanExecuteSave); CancelCommand = commandFactory.CreateCommand(ExecuteCancel, CanExecuteCancel); }
public SceneViewModel(Scene scene, BridgeViewModel bridgeViewModel, IDelegateCommandFactory commandFactory) { _scene = scene; _bridgeViewModel = bridgeViewModel; _bridgeViewModel.Lights.CollectionChanged += LightsOnCollectionChanged; _bridgeViewModel.Groups.CollectionChanged += GroupsOnCollectionChanged; _connection = bridgeViewModel.Context; SaveCommand = commandFactory.CreateCommand(ExecuteSave, CanExecuteSave); CancelCommand = commandFactory.CreateCommand(ExecuteCancel, CanExecuteCancel); InitialiseSceneViewModel(); }
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(); }