public AdvancedInfoSearchViewModel(INovaromaEngine engine, IExceptionHandler exceptionHandler, IDialogService dialogService, string searchQuery, string directory, bool isParentDirectory)
            : base(dialogService)
        {
            _engine            = engine;
            _exceptionHandler  = exceptionHandler;
            _query             = searchQuery;
            _directory         = directory;
            _isParentDirectory = isParentDirectory;

            _searchCommand       = new RelayCommand(DoSearch, CanSearch);
            _clearFiltersCommand = new RelayCommand(ClearFilters);
            _observableResults   = new NovaromaObservableCollection <IInfoSearchMediaViewModel <IAdvancedInfoSearchResult> >();
            _resultSelections    = new MultiCheckSelection <IInfoSearchMediaViewModel <IAdvancedInfoSearchResult> >(_observableResults);

            var mediaTypeEnumInfo = Constants.MediaTypesEnumInfo;

            _mediaTypes = new MultiCheckSelection <EnumInfo <MediaTypes> >(mediaTypeEnumInfo.WithoutLast());
            _genres     = new MultiCheckSelection <string>(_engine.GetAdvancedInfoProviderGenres());
        }