Example #1
0
        public async System.Threading.Tasks.Task <ActionResult> AddTrackToCollectionAsync(string trackName, string artistName, string userId, string comment, decimal rating)
        {
            var response = await _musicClient.Track.GetInfoAsync(trackName, artistName);

            Track newTrack = new Track();

            newTrack.Title  = response.Content.Name;
            newTrack.FmId   = response.Content.Url.ToString();
            newTrack.Album  = response.Content.AlbumName;
            newTrack.Artist = response.Content.ArtistName;


            if (_trackService.Exists(newTrack.FmId) == false)
            {
                _trackService.Create(newTrack);
            }

            var newTrackCollection = _userService.AddTrackToCollection(ObjectId.Parse(userId), newTrack, comment, rating);

            return(CreatedAtAction("GetTrackCollection", new { id = newTrack.Id }, newTrackCollection));
        }