private void OnAddToPlaylistClick(object sender, RoutedEventArgs e)
 {
     PlaylistPicker.Pick(
         ViewModel.ArtistAlbums
         .SelectMany(x => x.MediaFiles)
         .Select(x => PlaylistItem.FromMediaFile(x)));
 }
示例#2
0
        private void OnFavoriteChanged(object sender, FavoriteChangedEventArgs e)
        {
            if (NowPlayingItem != null)
            {
                switch (e.Change)
                {
                case FavoriteChangeType.Added:
                    if (e.Item.Equals(PlaylistItem.FromMediaFile(NowPlayingItem.File)))
                    {
                        IsInFavorite = true;
                    }
                    break;

                case FavoriteChangeType.Removed:
                    if (e.Item.Equals(PlaylistItem.FromMediaFile(NowPlayingItem.File)))
                    {
                        IsInFavorite = false;
                    }
                    break;

                case FavoriteChangeType.Unknown:
                    CheckFavorite();
                    break;
                }
            }
        }
示例#3
0
        private void OnAddToPlaylistClicked(object sender, RoutedEventArgs e)
        {
            IEnumerable <PlaylistItem> items;
            var ctx = (CommonViewItemModel)DataContext;

            if (ctx.Type == CommonItemType.Album)
            {
                using (var scope = ApplicationServiceBase.App.GetScope())
                    using (var context = scope.ServiceProvider.GetRequiredService <MedialibraryDbContext>())
                    {
                        items = context.Albums
                                .Include(c => c.MediaFiles)
                                .First(i => i.Id == ctx.InternalDbEntityId)
                                .MediaFiles.Select(x => PlaylistItem.FromMediaFile(x)).ToArray();
                    }
            }
            else if (ctx.Type == CommonItemType.Artist)
            {
                using (var scope = ApplicationServiceBase.App.GetScope())
                    using (var context = scope.ServiceProvider.GetRequiredService <MedialibraryDbContext>())
                    {
                        items = context.Artists
                                .Include(c => c.MediaFiles)
                                .First(i => i.Id == ctx.InternalDbEntityId)
                                .MediaFiles.Select(x => PlaylistItem.FromMediaFile(x)).ToArray();
                    }
            }
            else
            {
                throw new NotSupportedException();
            }
            PlaylistPicker.Pick(items);
        }
示例#4
0
 private void AddToPlaylist(object obj)
 {
     if (PlaybackControl.Instance.Current?.File != null)
     {
         PlaylistPicker.Pick(PlaylistItem.FromMediaFile(
                                 PlaybackControl.Instance.Current.File));
     }
 }
 private void OnAddToPlaylistClick(object sender, RoutedEventArgs e)
 {
     if (PlaybackControl.Instance.Current?.File != null)
     {
         PlaylistPicker.Pick(PlaylistItem.FromMediaFile(
                                 PlaybackControl.Instance.Current.File));
     }
 }
示例#6
0
 private async void Like(object obj)
 {
     if (IsInFavorite)
     {
         await PlaylistManager.Instance.RemoveFromFavoriteAsync(
             PlaylistItem.FromMediaFile(NowPlayingItem.File));
     }
     else
     {
         await PlaylistManager.Instance.AddToFavoriteAsync(
             PlaylistItem.FromMediaFile(NowPlayingItem.File));
     }
 }
 private async void OnFavoriteClick(object sender, RoutedEventArgs e)
 {
     if (_nowPlayingViewModel.IsInFavorite)
     {
         await PlaylistManager.Instance.RemoveFromFavoriteAsync(
             PlaylistItem.FromMediaFile(_nowPlayingViewModel.CurrentItem.File));
     }
     else
     {
         await PlaylistManager.Instance.AddToFavoriteAsync(
             PlaylistItem.FromMediaFile(_nowPlayingViewModel.CurrentItem.File));
     }
 }
示例#8
0
 private async void OnFavoriteButtonClicked(object sender, RoutedEventArgs e)
 {
     if (IsInFavorite)
     {
         await PlaylistManager.Instance.RemoveFromFavoriteAsync(
             PlaylistItem.FromMediaFile(NowPlayingItem.File));
     }
     else
     {
         await PlaylistManager.Instance.AddToFavoriteAsync(
             PlaylistItem.FromMediaFile(NowPlayingItem.File));
     }
 }
        private void NowPlayingOnFavoriteChanged(object sender, FavoriteChangedEventArgs e)
        {
            switch (e.Change)
            {
            case FavoriteChangeType.Added:
                if (e.Item.Equals(PlaylistItem.FromMediaFile(_nowPlayingViewModel.CurrentItem.File)))
                {
                    _nowPlayingViewModel.IsInFavorite = true;
                }
                break;

            case FavoriteChangeType.Removed:
                if (e.Item.Equals(PlaylistItem.FromMediaFile(_nowPlayingViewModel.CurrentItem.File)))
                {
                    _nowPlayingViewModel.IsInFavorite = false;
                }
                break;

            case FavoriteChangeType.Unknown:
                _nowPlayingViewModel.CheckFavorite();
                break;
            }
        }
 private void OnAddToPlaylistClick(object sender, RoutedEventArgs e)
 {
     PlaylistPicker.Pick(ViewModel.ViewItems.Select(x => PlaylistItem.FromMediaFile(x)));
 }
 private void OnAddToPlaylistClicked(object sender, RoutedEventArgs e)
 {
     PlaylistPicker.Pick(PlaylistItem.FromMediaFile(File.File));
 }