using System; using System.Threading; using System.Threading.Tasks; using IF.Lastfm.Core.Api.Commands.ArtistApi; using IF.Lastfm.Core.Api.Helpers; using IF.Lastfm.Core.Objects; namespace IF.Lastfm.Core.Api { public class ArtistApi : IArtistApi { public IAuth Auth { get; private set; } public ArtistApi(IAuth auth) { Auth = auth; } public async Task> GetArtistInfoAsync(string artist, string bioLang = LastFm.DefaultLanguageCode, bool autocorrect = false) { var command = new GetArtistInfoCommand(Auth, artist) { BioLanguage = bioLang, Autocorrect = autocorrect }; return await command.ExecuteAsync(); } public async Task> GetTopAlbumsForArtistAsync(string artist, bool autocorrect = false, int page = 1, int itemsPerPage = LastFm.DefaultPageLength) { throw new NotImplementedException(); } public async Task> GetUserTagsForArtistAsync(string artist, string username, bool autocorrect = false, int page = 1, int itemsPerPage = LastFm.DefaultPageLength) { throw new NotImplementedException(); } public async Task> GetTopTagsForArtistAsync(string artist, bool autocorrect = false) { throw new NotImplementedException(); } public async Task> GetShoutsForArtistAsync(string artist, int page = 0, int count = LastFm.DefaultPageLength, bool autocorrect = false) { var command = new GetArtistShoutsCommand(Auth, artist) { Autocorrect = autocorrect, Page = page, Count = count }; return await command.ExecuteAsync(); } } }