public JsonResult GetUpcoming(long id)
{
var resultArray = new List<object>();
var playlistTracks = playlistManager.ReadPlaylist(id)
.PlaylistTracks
.OrderByDescending(p => p.Votes.Sum(v => v.Score))
.Where(t => t.PlayedAt == null)
.Take(3)
.ToList();
resultArray.AddRange(playlistTracks);
resultArray.Add(playlistTracks.Select(p => p.Votes.Sum(v => v.Score)).ToList());
var jss = new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore };
var result = JsonConvert.SerializeObject(resultArray, Formatting.Indented, jss);
return Json(result, JsonRequestBehavior.AllowGet);
}