public List <Track> GetById(int id, string playlist) { var claimsIdentity = User.Identity as ClaimsIdentity; var userId = Convert.ToInt64(claimsIdentity.Claims.FirstOrDefault(claim => claim.Type == "Id").Value); return(_multiSourcePlaylistRepository.GetUsersPlaylistTracks(id, userId)); }
public void Shuffle(int id) { var claimsIdentity = User.Identity as ClaimsIdentity; var userId = Convert.ToInt64(claimsIdentity.Claims.FirstOrDefault(claim => claim.Type == "Id").Value); var values = _multiSourcePlaylistRepository.GetUsersPlaylistTracks(id, userId); var random = new Random(); if (values != null && values.Any()) { values.ForEach(track => { track.Order = random.Next(values.Count * 2); }); var orderedList = values.OrderBy(x => x.Order); long playlistId = values[0].Playlist.Id; int order = 0; foreach (Track track in orderedList) { track.Order = order; _multiSourcePlaylistRepository.PutTrack(track.Id, track); ++order; } } }