public ActionResult GetNextTrack(long id)
{
var playlistTracks = playlistManager.ReadPlaylist(id).PlaylistTracks.OrderByDescending(p => p.Votes.Sum(v => v.Score))
.Where(t => t.PlayedAt == null);
if (!playlistTracks.Any()) return Json(null, JsonRequestBehavior.DenyGet);
var track = playlistTracks.OrderByDescending(p=>p.Votes.Sum(v=>v.Score)).First(t => t.PlayedAt == null);
var playingViewModel = new CurrentPlayingViewModel()
{
TrackId = track.Track.TrackSource.TrackId,
Title = track.Track.Title,
Artist = track.Track.Artist,
NextTracks = playlistTracks.Where(p=>p.PlayedAt==null).ToList().Count(),
CoverArtUrl = track.Track.CoverArtUrl
};
return Json(playingViewModel, JsonRequestBehavior.AllowGet);
}