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(); }
private void OnSaveAsOrderedPlaylist() { var getPlaylistNameViewModel = new EnterStringViewModel(_messenger, "Save Playlist", "Enter playlist name"); _messenger.Send(new ShowDialogMessage(getPlaylistNameViewModel)); _repository.Save(GetOrderedPlaylist(getPlaylistNameViewModel.Result)); }
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)); }