public NotificationViewModel(NotificationEntry notificationEntry, NotificationSettingsViewModel parent) { _notificationEntry = notificationEntry; _parent = parent; Triggers = new ReactiveCollection <TriggerViewModel>(); foreach (var trigger in notificationEntry.Triggers) { Triggers.Add(new TriggerViewModel(trigger)); } Actions = new ReactiveCollection <ActionViewModel>(); foreach (var notificationAction in notificationEntry.Actions) { Actions.Add(new ActionViewModel(notificationAction)); } AddNewTriggerCommand = new ReactiveCommand(); AddNewTriggerCommand.Subscribe(_ => { Triggers.Add(new TriggerViewModel(new NotificationTrigger())); SelectedTrigger = Triggers.Last(); _parent.ToggleEditCommand.Execute(Triggers.Last()); }); AddNewActionCommand = new ReactiveCommand(); AddNewActionCommand.Subscribe(_ => { Actions.Add(new ActionViewModel(new FlashTaskBarNotificationAction())); SelectedAction = Actions.Last(); _parent.ToggleEditCommand.Execute(Actions.Last()); }); DeleteItemCommand = new ReactiveCommand(); DeleteItemCommand.OfType <TriggerViewModel>().Subscribe(t => Triggers.Remove(t)); DeleteItemCommand.OfType <ActionViewModel>().Subscribe(a => Actions.Remove(a)); }
public NotificationViewModel(NotificationEntry notificationEntry, NotificationSettingsViewModel parent) { _notificationEntry = notificationEntry; _parent = parent; Triggers = new ReactiveCollection<TriggerViewModel>(); foreach (var trigger in notificationEntry.Triggers) { Triggers.Add(new TriggerViewModel(trigger)); } Actions = new ReactiveCollection<ActionViewModel>(); foreach (var notificationAction in notificationEntry.Actions) { Actions.Add(new ActionViewModel(notificationAction)); } AddNewTriggerCommand = new ReactiveCommand(); AddNewTriggerCommand.Subscribe(_ => { Triggers.Add(new TriggerViewModel(new NotificationTrigger())); SelectedTrigger = Triggers.Last(); _parent.ToggleEditCommand.Execute(Triggers.Last()); }); AddNewActionCommand = new ReactiveCommand(); AddNewActionCommand.Subscribe(_ => { Actions.Add(new ActionViewModel(new FlashTaskBarNotificationAction())); SelectedAction = Actions.Last(); _parent.ToggleEditCommand.Execute(Actions.Last()); }); DeleteItemCommand = new ReactiveCommand(); DeleteItemCommand.OfType<TriggerViewModel>().Subscribe(t => Triggers.Remove(t)); DeleteItemCommand.OfType<ActionViewModel>().Subscribe(a => Actions.Remove(a)); }
public NotificationSettingsSteps(RoomContext context) { _context = context; _vm = context.SettingsViewModel.SettingsViewModels.OfType<NotificationSettingsViewModel>().First(); }