Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        protected override async Task ListPageNavigatedToAsync(CancellationToken cancelToken, NavigatedToEventArgs e, Dictionary <string, object> viewModelState)
        {
            _HistoriesResponse = await HohoemaApp.ContentProvider.GetHistory();

            await base.ListPageNavigatedToAsync(cancelToken, e, viewModelState);
        }
Ejemplo n.º 4
0
 public HistoryIncrementalLoadingSource(HohoemaApp hohoemaApp, PageManager pageManager, HistoriesResponse historyRes)
 {
     _HohoemaApp        = hohoemaApp;
     _PageManager       = pageManager;
     _HistoriesResponse = historyRes;
 }
 public HistoryIncrementalLoadingSource(HistoriesResponse historyRes)
 {
     _HistoriesResponse = historyRes;
 }