Beispiel #1
0
        private void OnAddToPlaylist(object playlist)
        {
            var selectedPlaylist = playlist as OrderedPlaylist;

            if (selectedPlaylist.Id == 0)
            {
                var enterTitleViewModel = new EnterStringViewModel(
                    _messenger,
                    "New Playlist",
                    "Enter a name for the new playlist",
                    str => !_playlists.Select(pl => pl.Title).Contains(str),
                    "The selected title is not valid");

                _messenger.Send(new ShowDialogMessage(enterTitleViewModel));

                selectedPlaylist.Title = enterTitleViewModel.Result;
            }

            if (selectedPlaylist.Tracks.Contains(Track.File.FullPath))
            {
                _messenger.Send(new ShowDialogMessage(_messenger, MessageType.Info, "Add to Playlist",
                                                      "The selected Track already belongs to this playlist"));
                return;
            }

            selectedPlaylist.Tracks.Add(Track.File.FullPath);

            _playlistsService.Save(selectedPlaylist);

            SetCommands();
        }
Beispiel #2
0
        private void OnSaveAsOrderedPlaylist()
        {
            var getPlaylistNameViewModel = new EnterStringViewModel(_messenger, "Save Playlist", "Enter playlist name");

            _messenger.Send(new ShowDialogMessage(getPlaylistNameViewModel));

            _repository.Save(GetOrderedPlaylist(getPlaylistNameViewModel.Result));
        }
Beispiel #3
0
        private async void OnGetArtworkFromUrl()
        {
            var enterUrlModel = new EnterStringViewModel(
                _messenger,
                "Get Artwork",
                "Enter the URL for the artwork below",
                str => UrlValidation.IsValidUrl(str) && ImageValidation.HasValidImageExtension(str, ImageType.Jpeg, ImageType.Bmp, ImageType.Png),
                "The value entered is not a valid artwork URL");

            _messenger.Send(new ShowDialogMessage(enterUrlModel));
            var result = enterUrlModel.Result;

            if (result == null)
            {
                return;
            }

            LoadingArtwork = true;
            UpdateArtwork(await GetImageBytesFromUrl(result));
        }