Beispiel #1
0
        public override async Task OnNavigatedToAsync(INavigationParameters parameters)
        {
            string id = null;

            if (parameters.TryGetValue <string>("id", out var idString))
            {
                id = idString;
            }
            else if (parameters.TryGetValue <int>("id", out var idInt))
            {
                id = idInt.ToString();
            }

            var playlist = _localMylistManager.GetPlaylist(id);

            if (playlist == null)
            {
                return;
            }

            Playlist = playlist;

            SelectedSortOptionItem = SortOptionItems.First(x => x.SortKey == Playlist.ItemsSortKey && x.SortOrder == Playlist.ItemsSortOrder);

            RefreshItems();

            this.ObserveProperty(x => x.SelectedSortOptionItem, isPushCurrentValueAtFirst: false)
            .Subscribe(x => ResetList())
            .AddTo(_navigationDisposables);


            await base.OnNavigatedToAsync(parameters);
        }
        public ValueTask <IPlaylist> Create(PlaylistId playlistId)
        {
            if (playlistId == QueuePlaylist.Id)
            {
                return(new(_queuePlaylist));
            }
            else
            {
                var localPlaylist = _localMylistManager.GetPlaylist(playlistId.Id);
                if (localPlaylist == null)
                {
                    throw new HohoemaExpception();
                }

                return(new(localPlaylist));
            }
        }