private async void RemoveTrackFromMyMusic(AudioVk track) { if (!track.IsAddedByCurrentUser) { return; } try { //TODO captcha var result = await _tracksService.RemoveTrack(track); if (result) { Messenger.Default.Send(new MessageMyMusicChanged() { RemovedTracks = new List <AudioVk> { track } }); } } catch (Exception ex) { Logger.Error(ex, "Unable to remove track"); } }
/// <summary> /// Remove track from my music /// </summary> /// <param name="audio"></param> /// <returns></returns> public async Task <bool> RemoveTrack(AudioVk track) { var result = await _vk.Audio.Delete(long.Parse(track.Id), long.Parse(track.OwnerId)); if (result) { track.IsAddedByCurrentUser = false; } return(result); }
private List <IAudio> ProcessTracks(List <VkAudio> tracks) { var result = new List <IAudio>(); foreach (var vkTrack in tracks) { var track = new AudioVk(vkTrack); track.IsAddedByCurrentUser = track.OwnerId == _vk.AccessToken?.UserId.ToString(); result.Add(track); } return(result); }
public async Task SetMusicStatus(AudioVk audio) { long aid = 0; long oid = 0; if (audio != null) { aid = long.Parse(audio.Id); oid = long.Parse(audio.OwnerId); } var result = await _vk.Audio.SetBroadcast(aid, oid); }
/// <summary> /// Add track to my music /// </summary> public async Task <bool> AddTrack(AudioVk track) { var newId = await _vk.Audio.Add(long.Parse(track.Id), long.Parse(track.OwnerId)); if (newId > 0) { track.Id = newId.ToString(); track.OwnerId = _vk.AccessToken?.UserId.ToString(); track.IsAddedByCurrentUser = true; return(true); } return(false); }
private async void AddTrackToMyMusic(AudioVk track) { if (track.IsAddedByCurrentUser) { return; } try { //TODO captcha if (track.Id == null || track.OwnerId == null) { //TODO resolve throw new NotImplementedException(); //var resolvedTrack = await ServiceLocator.MusicResolverService.ResolveTrack(audio.Title, audio.Artist, audio.Duration); //audio.Id = resolvedTrack.Id; //audio.OwnerId = resolvedTrack.OwnerId; } var result = await _tracksService.AddTrack(track); //ServiceLocator.VkDataService.AddAudio(audio); if (result) { Messenger.Default.Send(new MessageMyMusicChanged() { AddedTracks = new List <AudioVk> { track } }); } } catch (Exception ex) { Logger.Error(ex, "Unable to add track"); } }
/// <summary> /// Edit track info /// </summary> /// <returns>Returns lyrics id or 0</returns> public async Task <long> EditTrack(AudioVk track, string title, string artist, string lyrics = null) { return(await _vk.Audio.Edit(ownerId : long.Parse(track.OwnerId), audioId : long.Parse(track.Id), artist : artist, title : title, text : lyrics)); }