public async Task <IFilter> AppendUserFilterAsync(IFilter filter, IEnumerable <Guid> filterMias) { IFilter userFilter = await CertificationHelper.GetUserCertificateFilter(filterMias); if (userFilter != null) { return(filter != null?BooleanCombinationFilter.CombineFilters(BooleanOperator.And, filter, userFilter) : userFilter); } return(filter); }
protected virtual async Task PrepareFilterTree() { if (!_rootRole.HasValue) { return; } _customFilterTree = new RelationshipFilterTree(_rootRole.Value); //Update filter by adding the user filter to the already loaded filters IFilter userFilter = await CertificationHelper.GetUserCertificateFilter(_necessaryMias); if (userFilter != null) { _customFilterTree.AddFilter(userFilter); } userFilter = await CertificationHelper.GetUserCertificateFilter(new[] { SeriesAspect.ASPECT_ID }); if (userFilter != null) { _customFilterTree.AddFilter(userFilter, new FilterTreePath(SeriesAspect.ROLE_SERIES)); } }
protected override async Task PrepareAsync() { await base.PrepareAsync(); //Update filter by adding the user filter to the already loaded filters IFilter userFilter = await CertificationHelper.GetUserCertificateFilter(_necessaryMias); if (userFilter != null) { _filter = BooleanCombinationFilter.CombineFilters(BooleanOperator.And, userFilter, BooleanCombinationFilter.CombineFilters(BooleanOperator.And, _filters)); } else { _filter = BooleanCombinationFilter.CombineFilters(BooleanOperator.And, _filters); } _defaultScreen = new MoviesShowItemsScreenData(_genericPlayableItemCreatorDelegate); _availableScreens = new List <AbstractScreenData> { _defaultScreen, new MovieFilterByGenreScreenData(), new MovieFilterByCollectionScreenData(), new VideosFilterByPlayCountScreenData(), new MovieFilterByCertificationScreenData(), new MovieFilterByActorScreenData(), new MovieFilterByCharacterScreenData(), new MovieFilterByDirectorScreenData(), new MovieFilterByWriterScreenData(), new MovieFilterByCompanyScreenData(), new VideosFilterByYearScreenData(), new VideosFilterBySystemScreenData(), new VideosSimpleSearchScreenData(_genericPlayableItemCreatorDelegate), }; _defaultSorting = new SortByTitle(); _availableSortings = new List <Sorting.Sorting> { _defaultSorting, new SortBySortTitle(), new SortByName(), new SortByYear(), new VideoSortByFirstGenre(), new MovieSortByCertification(), new VideoSortByDuration(), new VideoSortByFirstActor(), new VideoSortByFirstDirector(), new VideoSortByFirstWriter(), new VideoSortBySize(), new VideoSortByAspectRatio(), new SortByAddedDate(), new SortBySystem(), }; _defaultGrouping = null; _availableGroupings = new List <Sorting.Sorting> { //_defaultGrouping, new SortByTitle(), new SortBySortTitle(), new SortByName(), new SortByYear(), new VideoSortByFirstGenre(), new MovieSortByCertification(), new VideoSortByDuration(), new VideoSortByFirstActor(), new VideoSortByFirstDirector(), new VideoSortByFirstWriter(), new VideoSortBySize(), new VideoSortByAspectRatio(), new SortByAddedDate(), new SortBySystem(), }; }