public void DeleteSong()
        {
            var savedSongId = musicPlaylist.Add(_registerSongRequest);
            var deletedSong = musicPlaylist.Delete(savedSongId);

            var missingSong = musicPlaylist.GetById(savedSongId);

            Assert.AreEqual(missingSong.HasValue, false);
            Assert.AreEqual(deletedSong.Artist, "::artist::");
            Assert.AreEqual(deletedSong.Title, "::title::");
            Assert.IsTrue(deletedSong.Genres.SequenceEqual(new List <string>()
            {
                "pop"
            }));
        }
 public HttpResponseMessage DeleteSongById(string id)
 {
     try
     {
         logger.Info("Deleting song with id " + id);
         var deletedSong = playlist.Delete(id);
         return(this.Request.CreateResponse(HttpStatusCode.NoContent, deletedSong));
     }
     catch (SongNotFoundException e)
     {
         logger.Info("Song could not be found");
         return(this.Request.CreateResponse(HttpStatusCode.NotFound));
     }
 }
        /// <summary>
        /// Deletes a song by id.
        /// </summary>
        /// <param name="songId">The song id to delete.</param>
        /// <returns>The deleted song.</returns>
        public Song DeleteSong(string songId)
        {
            Song result;

            try
            {
                result = playlist.Delete(songId);
            }
            catch (SongNotFoundException e)
            {
                result = new Song();
            }
            catch (Exception e)
            {
                logger.Error(e.ToString());
                System.Diagnostics.Trace.Write(e.ToString());
                result = new Song();
            }

            return(result);
        }