Example #1
0
 public static SPlaylistData GetPlaylist(int playlistId)
 {
     if (CPlaylists.Get(playlistId) == null)
     {
         throw new ArgumentException("invalid playlistId");
     }
     return(_GetPlaylistInfo(CPlaylists.Get(playlistId)));
 }
Example #2
0
 public static void RemovePlaylist(int playlistId)
 {
     if (CPlaylists.Get(playlistId) == null)
     {
         throw new ArgumentException("invalid playlistId");
     }
     CPlaylists.Delete(playlistId);
 }
Example #3
0
        public static bool PlaylistContainsSong(int songId, int playlistId)
        {
            CPlaylistFile pl = CPlaylists.Get(playlistId);

            if (pl == null)
            {
                throw new ArgumentException("invalid playlistId");
            }
            return(pl.Songs.Any(s => s.SongID == songId));
        }
Example #4
0
        public static SPlaylistSongInfo[] GetPlaylistSongs(int playlistId)
        {
            CPlaylistFile pl = CPlaylists.Get(playlistId);

            if (pl == null)
            {
                throw new ArgumentException("invalid playlistId");
            }

            return(_GetPlaylistSongInfos(pl));
        }
Example #5
0
        public static void AddSongToPlaylist(int songId, int playlistId, bool allowDuplicates)
        {
            if (CPlaylists.Get(playlistId) == null)
            {
                throw new ArgumentException("invalid playlistId");
            }

            if (allowDuplicates || !PlaylistContainsSong(songId, playlistId))
            {
                CPlaylists.AddSong(playlistId, songId);
                CPlaylists.Save(playlistId);
            }
            else
            {
                throw new ArgumentException("song exists in this playlist");
            }
        }
Example #6
0
        public static void RemoveSongFromPlaylist(int position, int playlistId, int songId)
        {
            CPlaylistFile pl = CPlaylists.Get(playlistId);

            if (pl == null)
            {
                throw new ArgumentException("invalid playlistId");
            }
            if (!PlaylistContainsSong(songId, playlistId))
            {
                throw new ArgumentException("invalid songId");
            }
            if (position < 0 || pl.Songs.Count <= position ||
                pl.Songs[position].SongID != songId)
            {
                throw new ArgumentException("invalid position");
            }
            pl.DeleteSong(position);
            pl.Save();
        }
Example #7
0
        public static void MoveSongInPlaylist(int newPosition, int playlistId, int songId)
        {
            CPlaylistFile pl = CPlaylists.Get(playlistId);

            if (pl == null)
            {
                throw new ArgumentException("invalid playlistId");
            }
            if (!PlaylistContainsSong(songId, playlistId))
            {
                throw new ArgumentException("invalid songId");
            }

            if (pl.Songs.Count < newPosition)
            {
                throw new ArgumentException("invalid newPosition");
            }

            int oldPosition = pl.Songs.FindIndex(s => s.SongID == songId);

            pl.MoveSong(oldPosition, newPosition);
            pl.Save();
        }