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();
        }