public PlayNowResult PlayAlbumOrTrackNow([FromBody] PlayAlbumOrTrackRequest request) { // TODO int playlistId; if (string.IsNullOrEmpty(request.PlaylistId)) { playlistId = Domain.Objects.Playlist.ALL_ID; // all } else { playlistId = int.Parse(request.PlaylistId); } using (DAL.DALManager mgr = new DAL.DALManager(settings.Value.DatabasePath)) { if (playlistId != Player.Instance.CurrentPlaylist.Id) { PlayPlaylistNow(new PlayPlaylistRequest() { PlaylistId = playlistId + "" }); } // find in the current playlist and change track if (request.Item.IsTrack) { var track = mgr.Get <Domain.Objects.Track>(request.Item.Id); if (track == null) { return new PlayNowResult() { Success = false, Message = "Track not found " } } ; Player.Instance.PlayTracks(new HashSet <int>() { request.Item.Id }); } else { var album = mgr.Get <Domain.Objects.Album>(request.Item.Id); if (album == null) { return new PlayNowResult() { Success = false, Message = "Album not found" } } ; var tracks = mgr.FindTracks(null, playlistId, album.Id, 0, int.MaxValue); Player.Instance.PlayTracks(new HashSet <int>(tracks.Select(t => t.Id))); } } return(GetPlayerStateResultFromPlayer <PlayNowResult>()); }
public Result PlayAlbumOrTrackAfterCurrentTrack([FromBody] PlayAlbumOrTrackRequest request) { // TODO return(null); }