public WallActualContentViewModel(IEventAggregator eventAggregator, PullersController pullersController,
                                          VkPostViewModelBuilder postBuilder)
            : base(eventAggregator, pullersController)
        {
            _postBuilder = postBuilder;
            _pullersController.Actual.PullInvoked   += onActualPullInvoked;
            _pullersController.Actual.PullCompleted += onActualPullCompleted;

            PostFilterCheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                       .ObservesProperty(() => IsBusy);

            PostFilterUncheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                         .ObservesProperty(() => IsBusy);

            RepostFilterCheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                         .ObservesProperty(() => IsBusy);

            RepostFilterUncheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                           .ObservesProperty(() => IsBusy);
        }
        public WallPostponeContentViewModel(IEventAggregator eventAggregator, PullersController pullersController, VkPostViewModelBuilder postBuilder)
            : base(eventAggregator, pullersController)
        {
            _postBuilder = postBuilder;

            FilterMissingIsChecked = true;

            _pullersController.Postponed.PullInvoked   += onPostponedPullInvoked;
            _pullersController.Postponed.PullCompleted += onPostponedPullCompleted;
            //_pullersController.Postponed.UploadRequested += onVkPullerUploadRequest;

            PostFilterCheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                       .ObservesProperty(() => IsBusy);

            PostFilterUncheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                         .ObservesProperty(() => IsBusy);

            RepostFilterCheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                         .ObservesProperty(() => IsBusy);

            RepostFilterUncheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                           .ObservesProperty(() => IsBusy);

            MissingFilterCheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                          .ObservesProperty(() => IsBusy);

            MissingFilterUncheckedCommand = new DelegateCommand(() => {
                updateFilter();
                filterOut(UnfilteredItems);
            }, () => !IsBusy)
                                            .ObservesProperty(() => IsBusy);
        }