public ConfigureActionViewModel(IDeviceRepository deviceRepository, IActionTypeRepository actionTypeRepository, IActionRepository actionRepository, IActionUpdater actionUpdater) { if (deviceRepository == null) { throw new ArgumentNullException(nameof(deviceRepository)); } if (actionTypeRepository == null) { throw new ArgumentNullException(nameof(actionTypeRepository)); } if (actionRepository == null) { throw new ArgumentNullException(nameof(actionRepository)); } if (actionUpdater == null) { throw new ArgumentNullException(nameof(actionUpdater)); } _deviceRepository = deviceRepository; _actionTypeRepository = actionTypeRepository; _actionRepository = actionRepository; _actionUpdater = actionUpdater; ActionTriggers = new ObservableCollection <ActionTrigger>(); Devices = new ObservableCollection <Device>(); ActionTypes = new ObservableCollection <ActionType>(); ActionArguments = new ObservableCollection <ActionArgument>(); SaveCommand = new TransactionalCommandTask(Save, CanSave); MessengerInstance.Register <TasksUpdated>(this, t => ActionIdentifier = null); }
public ActionDescriptionViewModel(ActionDescription actionDescription, IActionRepository actionRepository, IMessenger messenger) { if (actionDescription == null) { throw new ArgumentNullException(nameof(actionDescription)); } if (messenger == null) { throw new ArgumentNullException(nameof(messenger)); } _actionRepository = actionRepository; _messenger = messenger; ActionArgumentIdentifier = actionDescription.ActionArgumentIdentifier; ActionIdentifier = actionDescription.ActionIdentifier; ActionTrigger = actionDescription.ActionTrigger; ActionTypeIdentifier = actionDescription.ActionTypeIdentifier; DeviceIdentifier = actionDescription.DeviceIdentifier; DeviceName = actionDescription.DeviceName; Result = actionDescription.Result; DeleteTaskCommand = new TransactionalCommandTask(DeleteTask); }
public SetHomeLocationViewModel(ILocationRepository locationRepository) { if (locationRepository == null) throw new ArgumentNullException(nameof(locationRepository)); _locationRepository = locationRepository; SaveCommand = new TransactionalCommandTask(Save, CanSave); PropertyChanged += SetHomeLocationViewModel_PropertyChanged; }
public ConnectIftttViewModel(ICredentialsRepository credentialsRepository, IIftttConnector iftttConnector) { if (credentialsRepository == null) throw new ArgumentNullException(nameof(credentialsRepository)); if (iftttConnector == null) throw new ArgumentNullException(nameof(iftttConnector)); _credentialsRepository = credentialsRepository; _iftttConnector = iftttConnector; ConnectCommand = new TransactionalCommandTask(Connect, CanConnect); }
public ConnectFifthplayViewModel(ICredentialsRepository credentialsRepository, IDeviceConnector deviceConnector) { if (credentialsRepository == null) throw new ArgumentNullException(nameof(credentialsRepository)); if (deviceConnector == null) throw new ArgumentNullException(nameof(deviceConnector)); _credentialsRepository = credentialsRepository; _deviceConnector = deviceConnector; ConnectCommand = new TransactionalCommandTask(ConnectDevices, CanConnectDevices); }
public SetHomeLocationViewModel(ILocationRepository locationRepository) { if (locationRepository == null) { throw new ArgumentNullException(nameof(locationRepository)); } _locationRepository = locationRepository; SaveCommand = new TransactionalCommandTask(Save, CanSave); PropertyChanged += SetHomeLocationViewModel_PropertyChanged; }
public ConnectFifthplayViewModel(ICredentialsRepository credentialsRepository, IDeviceConnector deviceConnector) { if (credentialsRepository == null) { throw new ArgumentNullException(nameof(credentialsRepository)); } if (deviceConnector == null) { throw new ArgumentNullException(nameof(deviceConnector)); } _credentialsRepository = credentialsRepository; _deviceConnector = deviceConnector; ConnectCommand = new TransactionalCommandTask(ConnectDevices, CanConnectDevices); }
public ConnectIftttViewModel(ICredentialsRepository credentialsRepository, IIftttConnector iftttConnector) { if (credentialsRepository == null) { throw new ArgumentNullException(nameof(credentialsRepository)); } if (iftttConnector == null) { throw new ArgumentNullException(nameof(iftttConnector)); } _credentialsRepository = credentialsRepository; _iftttConnector = iftttConnector; ConnectCommand = new TransactionalCommandTask(Connect, CanConnect); }
public ActionDescriptionViewModel(ActionDescription actionDescription, IActionRepository actionRepository, IMessenger messenger) { if (actionDescription == null) throw new ArgumentNullException(nameof(actionDescription)); if (messenger == null) throw new ArgumentNullException(nameof(messenger)); _actionRepository = actionRepository; _messenger = messenger; ActionArgumentIdentifier = actionDescription.ActionArgumentIdentifier; ActionIdentifier = actionDescription.ActionIdentifier; ActionTrigger = actionDescription.ActionTrigger; ActionTypeIdentifier = actionDescription.ActionTypeIdentifier; DeviceIdentifier = actionDescription.DeviceIdentifier; DeviceName = actionDescription.DeviceName; Result = actionDescription.Result; DeleteTaskCommand = new TransactionalCommandTask(DeleteTask); }
public ConfigureActionViewModel(IDeviceRepository deviceRepository, IActionTypeRepository actionTypeRepository, IActionRepository actionRepository, IActionUpdater actionUpdater) { if (deviceRepository == null) throw new ArgumentNullException(nameof(deviceRepository)); if (actionTypeRepository == null) throw new ArgumentNullException(nameof(actionTypeRepository)); if (actionRepository == null) throw new ArgumentNullException(nameof(actionRepository)); if (actionUpdater == null) throw new ArgumentNullException(nameof(actionUpdater)); _deviceRepository = deviceRepository; _actionTypeRepository = actionTypeRepository; _actionRepository = actionRepository; _actionUpdater = actionUpdater; ActionTriggers = new ObservableCollection<ActionTrigger>(); Devices = new ObservableCollection<Device>(); ActionTypes = new ObservableCollection<ActionType>(); ActionArguments = new ObservableCollection<ActionArgument>(); SaveCommand = new TransactionalCommandTask(Save, CanSave); MessengerInstance.Register<TasksUpdated>(this, t => ActionIdentifier = null); }
public SettingsViewModel(IFunctionalityToggler functionalityToggler, IApplicationRepository applicationRepository, ILocationRepository locationRepository, IDeviceRepository deviceRepository) { if (functionalityToggler == null) throw new ArgumentNullException(nameof(functionalityToggler)); if (applicationRepository == null) throw new ArgumentNullException(nameof(applicationRepository)); if (locationRepository == null) throw new ArgumentNullException(nameof(locationRepository)); if (deviceRepository == null) throw new ArgumentNullException(nameof(deviceRepository)); _functionalityToggler = functionalityToggler; _applicationRepository = applicationRepository; _locationRepository = locationRepository; _deviceRepository = deviceRepository; EnableCommand = new TransactionalCommandTask(Enable, () => CanExecute); EnableCommand.CanExecuteChanged += (s, e) => CanExecute = !EnableCommand.IsExecuting; CanExecute = true; if (IsInDesignMode) IsEnabled = true; MessengerInstance.Register<HomeLocationChanged>(this, async t => await DispatcherHelper.RunAsync(() => IsHomeLocationSet = true)); }
public SettingsViewModel(IFunctionalityToggler functionalityToggler, IApplicationRepository applicationRepository, ILocationRepository locationRepository, IDeviceRepository deviceRepository) { if (functionalityToggler == null) { throw new ArgumentNullException(nameof(functionalityToggler)); } if (applicationRepository == null) { throw new ArgumentNullException(nameof(applicationRepository)); } if (locationRepository == null) { throw new ArgumentNullException(nameof(locationRepository)); } if (deviceRepository == null) { throw new ArgumentNullException(nameof(deviceRepository)); } _functionalityToggler = functionalityToggler; _applicationRepository = applicationRepository; _locationRepository = locationRepository; _deviceRepository = deviceRepository; EnableCommand = new TransactionalCommandTask(Enable, () => CanExecute); EnableCommand.CanExecuteChanged += (s, e) => CanExecute = !EnableCommand.IsExecuting; CanExecute = true; if (IsInDesignMode) { IsEnabled = true; } MessengerInstance.Register <HomeLocationChanged>(this, async t => await DispatcherHelper.RunAsync(() => IsHomeLocationSet = true)); }
public MainViewModel(IApplicationRepository applicationRepository, IFunctionalityToggler functionalityToggler, ILogRepository logRepository, ILocationRepository locationRepository, IDeviceRepository deviceRepository, ICredentialsRepository credentialsRepository, IFirstTimeUserExperienceTracker firstTimeUserExperienceTracker, IActionRepository actionRepository) { if (applicationRepository == null) throw new ArgumentNullException(nameof(applicationRepository)); if (functionalityToggler == null) throw new ArgumentNullException(nameof(functionalityToggler)); if (logRepository == null) throw new ArgumentNullException(nameof(logRepository)); if (locationRepository == null) throw new ArgumentNullException(nameof(locationRepository)); if (deviceRepository == null) throw new ArgumentNullException(nameof(deviceRepository)); if (actionRepository == null) throw new ArgumentNullException(nameof(actionRepository)); if (credentialsRepository == null) throw new ArgumentNullException(nameof(credentialsRepository)); if (firstTimeUserExperienceTracker == null) throw new ArgumentNullException(nameof(firstTimeUserExperienceTracker)); _applicationRepository = applicationRepository; _functionalityToggler = functionalityToggler; _logRepository = logRepository; _locationRepository = locationRepository; _deviceRepository = deviceRepository; _actionRepository = actionRepository; _credentialsRepository = credentialsRepository; _firstTimeUserExperienceTracker = firstTimeUserExperienceTracker; if (IsInDesignMode) { IsFirstTimeUserExperience = false; Activities = new ObservableCollection<ActivityViewModel> { new ActivityViewModel(DateTimeOffset.UtcNow, "Home") { Actions = new List<string> { "switch on Desk lamp", $"Failed to control IFTTT{Environment.NewLine}This is what happened: (NotFound Not Found..." } }, new ActivityViewModel(DateTimeOffset.UtcNow.AddDays(-1), "Away") { Actions = new List<string> { "switch off TV", "set to 16°C heating" } }, new ActivityViewModel(DateTimeOffset.UtcNow.AddDays(-10), "Home") { Actions = new List<string> { "switch on TV", "set to 16°C heating" } } }; IsFirstTimeUserExperienceHomeStep = true; } else { Activities = new ObservableCollection<ActivityViewModel>(); } UpdateFirstTimeUserExperienceCommand = new TransactionalCommandTask(UpdateFirstTimeUserExperience); NavigateToSettingsCommand = new RelayCommand(NavigateToSettings); }
public MainViewModel(IApplicationRepository applicationRepository, IFunctionalityToggler functionalityToggler, ILogRepository logRepository, ILocationRepository locationRepository, IDeviceRepository deviceRepository, ICredentialsRepository credentialsRepository, IFirstTimeUserExperienceTracker firstTimeUserExperienceTracker, IActionRepository actionRepository) { if (applicationRepository == null) { throw new ArgumentNullException(nameof(applicationRepository)); } if (functionalityToggler == null) { throw new ArgumentNullException(nameof(functionalityToggler)); } if (logRepository == null) { throw new ArgumentNullException(nameof(logRepository)); } if (locationRepository == null) { throw new ArgumentNullException(nameof(locationRepository)); } if (deviceRepository == null) { throw new ArgumentNullException(nameof(deviceRepository)); } if (actionRepository == null) { throw new ArgumentNullException(nameof(actionRepository)); } if (credentialsRepository == null) { throw new ArgumentNullException(nameof(credentialsRepository)); } if (firstTimeUserExperienceTracker == null) { throw new ArgumentNullException(nameof(firstTimeUserExperienceTracker)); } _applicationRepository = applicationRepository; _functionalityToggler = functionalityToggler; _logRepository = logRepository; _locationRepository = locationRepository; _deviceRepository = deviceRepository; _actionRepository = actionRepository; _credentialsRepository = credentialsRepository; _firstTimeUserExperienceTracker = firstTimeUserExperienceTracker; if (IsInDesignMode) { IsFirstTimeUserExperience = false; Activities = new ObservableCollection <ActivityViewModel> { new ActivityViewModel(DateTimeOffset.UtcNow, "Home") { Actions = new List <string> { "switch on Desk lamp", $"Failed to control IFTTT{Environment.NewLine}This is what happened: (NotFound Not Found..." } }, new ActivityViewModel(DateTimeOffset.UtcNow.AddDays(-1), "Away") { Actions = new List <string> { "switch off TV", "set to 16°C heating" } }, new ActivityViewModel(DateTimeOffset.UtcNow.AddDays(-10), "Home") { Actions = new List <string> { "switch on TV", "set to 16°C heating" } } }; IsFirstTimeUserExperienceHomeStep = true; } else { Activities = new ObservableCollection <ActivityViewModel>(); } UpdateFirstTimeUserExperienceCommand = new TransactionalCommandTask(UpdateFirstTimeUserExperience); NavigateToSettingsCommand = new RelayCommand(NavigateToSettings); }