public IMusic ParseUri(string uri) { //"https://music.yandex.ru/album/12360955/track/72099136" //https://music.yandex.ru/album/12343211 //https://music.yandex.ru/artist/1810 string[] uriParts = uri.Split("/"); if (uriParts.Contains("track")) { YTrack ymTrack = yandexMusicClient.Track.Get(yAuthStorage, uriParts.Last( )) .Result .First(); return(new Track(ymTrack.Title, ymTrack.Artists.First().Name, ymTrack.Albums.First().Title, 0, null, ymTrack.Id)); } if (uriParts.Contains("album") && !uriParts.Contains("track")) { YAlbum ymAlbum = yandexMusicClient.Album.Get(yAuthStorage, uriParts.Last( )) .Result; return(new Album(ymAlbum.Title, ymAlbum.Artists.First( ).Name, ymAlbum.Year.ToString( ), null, ymAlbum.Id)); } if (uriParts.Contains("artist")) { YArtistBriefInfo ymArtist = yandexMusicClient.Artist.Get(yAuthStorage, uriParts.Last( )) .Result; YAlbum ymSampleAlbum = ymArtist.Albums.First(); Album sampleAlbum = new Album(ymSampleAlbum.Title, ymArtist.Artist.Name, ymSampleAlbum.Year.ToString( ), null, ymSampleAlbum.Id); return(new Artist(ymArtist.Artist.Name, sampleAlbum, null, uriParts.Last())); } return(null); }
public static string AddLike(this YAlbum album) { return(album.Context.API.Library.AddAlbumLike(album.Context.Storage, album).Result); }
/// <summary> /// Удалить альбом из списка лайкнутых /// </summary> /// <param name="storage">Хранилище</param> /// <param name="album">Альбом</param> /// <returns></returns> public YResponse <string> RemoveAlbumLike(AuthStorage storage, YAlbum album) { return(RemoveAlbumLikeAsync(storage, album).GetAwaiter().GetResult()); }
/// <summary> /// Удалить альбом из списка лайкнутых /// </summary> /// <param name="storage">Хранилище</param> /// <param name="album">Альбом</param> /// <returns></returns> public async Task <YResponse <string> > RemoveAlbumLikeAsync(AuthStorage storage, YAlbum album) { return(await new YLibraryRemoveRequest(api, storage) .Create(album.Id, YLibrarySection.Albums) .GetResponseAsync <YResponse <string> >()); }
/// <summary> /// Удалить альбом из списка лайкнутых /// </summary> /// <param name="storage">Хранилище</param> /// <param name="album">Альбом</param> /// <returns></returns> public bool RemoveAlbumLike(YAuthStorage storage, YAlbum album) { return(RemoveAlbumLikeAsync(storage, album).GetAwaiter().GetResult()); }
/// <summary> /// Удалить альбом из списка лайкнутых /// </summary> /// <param name="storage">Хранилище</param> /// <param name="album">Альбом</param> /// <returns></returns> public async Task <bool> RemoveAlbumLikeAsync(YAuthStorage storage, YAlbum album) { return(await new YLibraryRemoveRequest(storage) .Create(album.Id, YLibrarySection.Albums) .GetResponseAsync <string>() == "ok"); }