public SearchResultLivePageViewModel( ILoggerFactory loggerFactory, ApplicationLayoutManager applicationLayoutManager, NiconicoSession niconicoSession, SearchProvider searchProvider, PageManager pageManager, SearchHistoryRepository searchHistoryRepository, NicoLiveCacheRepository nicoLiveCacheRepository, OpenLiveContentCommand openLiveContentCommand ) : base(loggerFactory.CreateLogger <SearchResultLivePageViewModel>()) { ApplicationLayoutManager = applicationLayoutManager; NiconicoSession = niconicoSession; SearchProvider = searchProvider; PageManager = pageManager; _searchHistoryRepository = searchHistoryRepository; _nicoLiveCacheRepository = nicoLiveCacheRepository; OpenLiveContentCommand = openLiveContentCommand; SelectedSearchSort = new ReactiveProperty <LiveSearchPageSortOrder>(SortOptionItems[0], mode: ReactivePropertyMode.DistinctUntilChanged); SelectedLiveStatus = new ReactiveProperty <LiveStatus>(LiveStatusItems[0], mode: ReactivePropertyMode.DistinctUntilChanged); SelectedProviders = new ObservableCollection <ProviderType>(); IsTagSearch = new ReactiveProperty <bool>(false); IsTimeshiftAvairable = new ReactiveProperty <bool>(false); IsHideMemberOnly = new ReactiveProperty <bool>(false); IsDisableGrouping = new ReactiveProperty <bool>(false); Observable.Merge( SelectedSearchSort.ToUnit(), SelectedLiveStatus.ToUnit(), SelectedProviders.CollectionChangedAsObservable().ToUnit() ) .Subscribe(async _ => { if (_NowNavigatingTo) { return; } if (_query is not null) { if (_query.Keyword == Keyword && _query.SortOrder == SelectedSearchSort.Value && _query.LiveStatus == SelectedLiveStatus.Value && (_query.ProviderTypes?.Any() ?? false) && SelectedProviders.Count == _query.ProviderTypes.Length && SelectedProviders.All(x => _query.ProviderTypes.Contains(x)) ) { return; } } ResetList(); }) .AddTo(_CompositeDisposable); }
public SearchTargetMigration_V_1_1_0( SearchHistoryRepository searchHistoryRepository, AppFlagsRepository appFlagsRepository ) { _searchHistoryRepository = searchHistoryRepository; _appFlagsRepository = appFlagsRepository; }
public UserDataService() { ImdbContext context = new ImdbContext(); _users = new UserRepository(context); _bookmarks = new BookmarkRepository(context); _comments = new CommentsRepository(context); _searchHistory = new SearchHistoryRepository(context); _specialRoles = new SpecialRolesRepository(context); _userRatings = new UserRatingRepository(context); _flaggedComments = new FlaggedCommentsRepository(context); }
public SearchResultMylistPageViewModel( ApplicationLayoutManager applicationLayoutManager, SearchProvider searchProvider, PageManager pageManager, SearchHistoryRepository searchHistoryRepository ) { SelectedSearchSort = new ReactivePropertySlim <MylistSearchSortOptionListItem>(); SelectedSearchTarget = new ReactiveProperty <SearchTarget>(); ApplicationLayoutManager = applicationLayoutManager; SearchProvider = searchProvider; PageManager = pageManager; _searchHistoryRepository = searchHistoryRepository; }
public SearchResultTagPageViewModel( ILoggerFactory loggerFactory, ApplicationLayoutManager applicationLayoutManager, NiconicoSession niconicoSession, SearchProvider searchProvider, TagFollowProvider tagFollowProvider, SubscriptionManager subscriptionManager, PageManager pageManager, SearchHistoryRepository searchHistoryRepository, Services.DialogService dialogService, VideoPlayWithQueueCommand videoPlayWithQueueCommand, PlaylistPlayAllCommand playlistPlayAllCommand, AddTagSearchSubscriptionCommand addTagSearchSubscriptionCommand, SelectionModeToggleCommand selectionModeToggleCommand ) : base(loggerFactory.CreateLogger <SearchResultTagPageViewModel>()) { SearchProvider = searchProvider; _tagFollowProvider = tagFollowProvider; SubscriptionManager = subscriptionManager; PageManager = pageManager; _searchHistoryRepository = searchHistoryRepository; ApplicationLayoutManager = applicationLayoutManager; NiconicoSession = niconicoSession; HohoemaDialogService = dialogService; VideoPlayWithQueueCommand = videoPlayWithQueueCommand; PlaylistPlayAllCommand = playlistPlayAllCommand; AddTagSearchSubscriptionCommand = addTagSearchSubscriptionCommand; SelectionModeToggleCommand = selectionModeToggleCommand; FailLoading = new ReactiveProperty <bool>(false) .AddTo(_CompositeDisposable); LoadedPage = new ReactiveProperty <int>(1) .AddTo(_CompositeDisposable); SelectedSearchTarget = new ReactiveProperty <SearchTarget>(); CurrentPlaylistToken = Observable.CombineLatest( this.ObserveProperty(x => x.SearchVideoPlaylist), this.ObserveProperty(x => x.SelectedSortOption), (x, y) => new PlaylistToken(x, y) ) .ToReadOnlyReactivePropertySlim() .AddTo(_CompositeDisposable); }
public SearchResultCommunityPageViewModel( ApplicationLayoutManager applicationLayoutManager, PageManager pageManager, SearchProvider searchProvider, NiconicoLoginService niconicoLoginService, SearchHistoryRepository searchHistoryRepository ) { ApplicationLayoutManager = applicationLayoutManager; PageManager = pageManager; SearchProvider = searchProvider; NiconicoLoginService = niconicoLoginService; _searchHistoryRepository = searchHistoryRepository; SelectedSearchSort = new ReactivePropertySlim <CommunitySearchSortOptionListItem>(); SelectedSearchMode = new ReactivePropertySlim <CommynitySearchModeOptionListItem>(); SelectedSearchTarget = new ReactiveProperty <SearchTarget>(); }
public SearchPageViewModel( IScheduler scheduler, ApplicationLayoutManager applicationLayoutManager, NiconicoSession niconicoSession, SearchProvider searchProvider, PageManager pageManager, SearchHistoryRepository searchHistoryRepository ) { _scheduler = scheduler; ApplicationLayoutManager = applicationLayoutManager; NiconicoSession = niconicoSession; SearchProvider = searchProvider; PageManager = pageManager; _searchHistoryRepository = searchHistoryRepository; HashSet <string> HistoryKeyword = new HashSet <string>(); foreach (var item in _searchHistoryRepository.ReadAllItems().OrderByDescending(x => x.LastUpdated)) { if (HistoryKeyword.Contains(item.Keyword)) { continue; } SearchHistoryItems.Add(new SearchHistoryListItemViewModel(item, this)); HistoryKeyword.Add(item.Keyword); } SearchText = new ReactiveProperty <string>(_LastKeyword) .AddTo(_CompositeDisposable); TargetListItems = new List <SearchTarget>() { SearchTarget.Keyword, SearchTarget.Tag, SearchTarget.Niconama, }; SelectedTarget = new ReactiveProperty <SearchTarget>(_LastSelectedTarget) .AddTo(_CompositeDisposable); DoSearchCommand = new ReactiveCommand() .AddTo(_CompositeDisposable); #if DEBUG SearchText.Subscribe(x => { Debug.WriteLine($"検索:{x}"); }); #endif #if DEBUG DoSearchCommand.CanExecuteChangedAsObservable() .Subscribe(x => { Debug.WriteLine(DoSearchCommand.CanExecute()); }); #endif IsNavigationFailed = new ReactiveProperty <bool>(); NavigationFailedReason = new ReactiveProperty <string>(); }
public RemoveSearchHistoryCommand(SearchHistoryRepository searchHistoryRepository) { _searchHistoryRepository = searchHistoryRepository; }
public SearchCommand(PageManager pageManager, SearchHistoryRepository searchHistoryRepository) { _pageManager = pageManager; _searchHistoryRepository = searchHistoryRepository; }