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> >());
 }
Exemple #5
0
 /// <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());
 }
Exemple #6
0
 /// <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");
 }