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)); }