Beispiel #1
0
        public void Put(int id, [FromBody] Track value)
        {
            Playlist pl = _multiSourcePlaylistRepository.AttachPlaylist(value.Playlist.Id);

            value.Playlist = pl;
            _multiSourcePlaylistRepository.PutTrack(id, value);
        }
        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;
                }
            }
        }