Beispiel #1
0
        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;
                }
            }
        }