IF.Lastfm/IF.Lastfm.Core/Api/AlbumApi.cs

60 lines
2.1 KiB
C#
Raw Normal View History

using System;
using System.Threading.Tasks;
2013-06-23 20:10:57 +01:00
using IF.Lastfm.Core.Api.Commands.AlbumApi;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
namespace IF.Lastfm.Core.Api
{
public class AlbumApi : IAlbumApi
{
public IAuth Auth { get; private set; }
public AlbumApi(IAuth auth)
{
Auth = auth;
}
public async Task<LastResponse<Album>> GetAlbumInfoAsync(string artistname, string albumname, bool autocorrect = false)
{
2013-06-23 20:10:57 +01:00
var command = new GetAlbumInfoCommand(Auth, artistname, albumname)
{
Autocorrect = autocorrect
};
2013-06-23 20:10:57 +01:00
return await command.ExecuteAsync();
}
public Task<PageResponse<BuyLink>> GetBuyLinksForAlbumAsync(string artist, string album, CountryCode country, bool autocorrect = false)
{
throw new NotImplementedException();
}
public Task<PageResponse<Tag>> GetUserTagsForAlbumAsync(string artist, string album, string username, bool autocorrect = false)
{
throw new NotImplementedException();
}
public Task<PageResponse<Tag>> GetTopTagsForAlbumAsync(string artist, string album, bool autocorrect = false)
{
throw new NotImplementedException();
}
public Task<PageResponse<Album>> SearchForAlbumAsync(string album, int page = 1, int itemsPerPage = LastFm.DefaultPageLength)
{
throw new NotImplementedException();
}
public async Task<PageResponse<Shout>> GetShoutsAsync(string albumname, string artistname, bool autocorrect = false, int page = 1, int count = LastFm.DefaultPageLength)
{
var command = new GetAlbumShoutsCommand(Auth, albumname, artistname)
{
Page = page,
Autocorrect = autocorrect,
Count = count
};
return await command.ExecuteAsync();
}
}
}