private void ShowEditOrderedPlaylistTab(OrderedPlaylist playlist) { _returnToTab = SelectedTab; _editOrderedPlaylistViewModel.Edit(playlist); _editOrderedPlaylistViewModel.IsVisible = true; SetSelectedTab(_editOrderedPlaylistViewModel); }
private void OnFavourite(OrderedPlaylist playlist) { playlist.Favourite = !playlist.Favourite; _repository.Save(playlist); Update(); _parent.OnFavouritePlaylistsUpdated(); }
public void Edit(OrderedPlaylist playlist) { _playlist = playlist; PlaylistTitle = _playlist.Title; Tracks = new ObservableCollection <Track>(_trackSearchService.GetTracks(playlist.Tracks)); }
protected override bool CustomSave() { _playlist = CreatePlaylist(_playlist); _repository.Save(_playlist); return(true); }
private void OnDelete(OrderedPlaylist playlist) { _parent.Remove(playlist); if (playlist.Favourite) { _parent.OnFavouritePlaylistsUpdated(); } }
private OrderedPlaylist CreatePlaylist(OrderedPlaylist playlist = null) { if (playlist == null) { playlist = new OrderedPlaylist(0, "", false); } playlist.Title = PlaylistTitle; playlist.Tracks = _tracks.Select(t => t.File.FullPath).ToList(); return(playlist); }
public void Delete(OrderedPlaylist playlist) { var xml = _xmlProvider.Get(); var orderedPlaylistsXml = xml.Root.Element(PlaylistsOrdered); var playlistXml = orderedPlaylistsXml .Elements(PropertyNames.Playlist) .Single(pl => pl.Attribute(PlaylistId).Value == playlist.Id.ToString()); playlistXml.Remove(); _xmlProvider.Save(xml); }
private OrderedPlaylist CreateOrderedPlaylist(XElement playlistXml) { var id = int.Parse(playlistXml.Attribute(PlaylistId).Value); var title = playlistXml.Attribute(PlaylistTitle).Value; var favourite = playlistXml.Attribute(PlaylistIsFavourite)?.Value == TrueValue; var playlist = new OrderedPlaylist(id, title, favourite); foreach (var trackXml in playlistXml.Element(PlaylistTracks).Elements(PlaylistTrack)) { playlist.Tracks.Add(trackXml.Attribute(PlaylistTrackFilepath).Value); } return(playlist); }
public void Remove(OrderedPlaylist playlist) { var confirmation = new ConfirmationViewModel(_messenger, "Delete Playlist Confirmation", $"Are you sure you want to delete {playlist.Title}?", ConfirmationType.YesNo); _messenger.Send(new ShowDialogMessage(confirmation)); if (!confirmation.Result) { return; } _repository.Delete(playlist); OnShow(null); }
public void Save(OrderedPlaylist playlist) { var xml = _xmlProvider.Get() ?? CreateXmlDocument(); var orderedPlaylistsXml = xml.Root.Element(PlaylistsOrdered); XElement playlistXml; if (playlist.Id == 0) { var playlists = orderedPlaylistsXml .Elements(PropertyNames.Playlist); var maxId = playlists.Any() ? playlists.Max(pl => Convert.ToInt16(pl.Attribute(PlaylistId).Value)) : 0; playlist.Id = maxId + 1; playlistXml = new XElement(PropertyNames.Playlist); orderedPlaylistsXml.Add(playlistXml); } else { playlistXml = orderedPlaylistsXml .Elements(PropertyNames.Playlist) .Single(pl => pl.Attribute(PlaylistId).Value == playlist.Id.ToString()); } playlistXml.RemoveAll(); playlistXml.Add(new XAttribute(PlaylistId, playlist.Id)); playlistXml.Add(new XAttribute(PlaylistTitle, playlist.Title)); playlistXml.Add(new XAttribute(PlaylistIsFavourite, playlist.Favourite ? TrueValue : FalseValue)); var tracksXml = new XElement(PlaylistTracks); playlistXml.Add(tracksXml); foreach (var track in playlist.Tracks) { var trackXml = new XElement(PlaylistTrack); trackXml.Add(new XAttribute(PlaylistTrackFilepath, track)); tracksXml.Add(trackXml); } _xmlProvider.Save(xml); }
public EditOrderedPlaylistMessage(OrderedPlaylist playlist) { Playlist = playlist; }
public void Delete(OrderedPlaylist playlist) { _repository.Delete(playlist); }
public void Save(OrderedPlaylist playlist) { _repository.Save(playlist); }
private void OnPlay(OrderedPlaylist playlist) { _playRequestHandler.PlayPlaylist(playlist.Title, _trackSearchService.GetTracks(playlist.Tracks), SortType.Ordered); }
private void OnEdit(OrderedPlaylist playlist) { _messenger.Send(new EditOrderedPlaylistMessage(playlist)); }
private void OnAddNewPlaylist() { var newPlaylist = new OrderedPlaylist(0, "New Playlist", false); _messenger.Send(new EditOrderedPlaylistMessage(newPlaylist)); }