public WatchHistoryPageViewModel(HohoemaApp hohoemaApp, PageManager pageManager) : base(hohoemaApp, pageManager) { RemoveHistoryCommand = SelectedItems.ObserveProperty(x => x.Count) .Select(x => x > 0) .ToReactiveCommand() .AddTo(_CompositeDisposable); RemoveHistoryCommand.Subscribe(async _ => { var selectedItems = SelectedItems.ToArray(); var action = AsyncInfo.Run <uint>(async(cancelToken, progress) => { foreach (var item in selectedItems) { await RemoveHistory(item.RawVideoId); SelectedItems.Remove(item); await Task.Delay(250); } await UpdateList(); _HistoriesResponse = await HohoemaApp.ContentProvider.GetHistory(); RemoveAllHistoryCommand.RaiseCanExecuteChanged(); }); await PageManager.StartNoUIWork("視聴履歴の削除", selectedItems.Length, () => action); }) .AddTo(_CompositeDisposable); }
internal async Task RemoveAllHistory() { var action = AsyncInfo.Run(async(cancelToken) => { await HohoemaApp.NiconicoContext.Video.RemoveAllHistoriesAsync(_HistoriesResponse.Token); _HistoriesResponse = await HohoemaApp.ContentProvider.GetHistory(); RemoveAllHistoryCommand.RaiseCanExecuteChanged(); }); await PageManager.StartNoUIWork("全ての視聴履歴を削除", () => action); await ResetList(); }
protected override async Task ListPageNavigatedToAsync(CancellationToken cancelToken, NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { _HistoriesResponse = await HohoemaApp.ContentProvider.GetHistory(); await base.ListPageNavigatedToAsync(cancelToken, e, viewModelState); }
public HistoryIncrementalLoadingSource(HohoemaApp hohoemaApp, PageManager pageManager, HistoriesResponse historyRes) { _HohoemaApp = hohoemaApp; _PageManager = pageManager; _HistoriesResponse = historyRes; }
public HistoryIncrementalLoadingSource(HistoriesResponse historyRes) { _HistoriesResponse = historyRes; }