2013-06-11 17:40:22 +01:00
|
|
|
|
using System;
|
|
|
|
|
using System.Threading.Tasks;
|
2013-06-23 20:10:57 +01:00
|
|
|
|
using IF.Lastfm.Core.Api.Commands.AlbumApi;
|
2013-06-14 13:11:42 +01:00
|
|
|
|
using IF.Lastfm.Core.Api.Helpers;
|
2013-06-11 17:40:22 +01:00
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
2013-06-14 13:11:42 +01:00
|
|
|
|
public async Task<LastResponse<Album>> GetAlbumInfoAsync(string artistname, string albumname, bool autocorrect = false)
|
2013-06-11 17:40:22 +01:00
|
|
|
|
{
|
2013-06-23 20:10:57 +01:00
|
|
|
|
var command = new GetAlbumInfoCommand(Auth, artistname, albumname)
|
|
|
|
|
{
|
|
|
|
|
Autocorrect = autocorrect
|
|
|
|
|
};
|
2013-06-11 17:40:22 +01:00
|
|
|
|
|
2013-06-23 20:10:57 +01:00
|
|
|
|
return await command.ExecuteAsync();
|
2013-06-11 17:40:22 +01:00
|
|
|
|
}
|
|
|
|
|
|
2013-06-15 16:17:37 +01:00
|
|
|
|
public Task<PageResponse<BuyLink>> GetBuyLinksForAlbumAsync(string artist, string album, CountryCode country, bool autocorrect = false)
|
2013-06-14 13:11:42 +01:00
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
|
2013-06-15 16:17:37 +01:00
|
|
|
|
public Task<PageResponse<Tag>> GetUserTagsForAlbumAsync(string artist, string album, string username, bool autocorrect = false)
|
2013-06-14 13:11:42 +01:00
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
|
2013-06-15 16:17:37 +01:00
|
|
|
|
public Task<PageResponse<Tag>> GetTopTagsForAlbumAsync(string artist, string album, bool autocorrect = false)
|
2013-06-14 13:11:42 +01:00
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
|
2013-06-15 16:17:37 +01:00
|
|
|
|
public Task<PageResponse<Album>> SearchForAlbumAsync(string album, int page = 1, int itemsPerPage = LastFm.DefaultPageLength)
|
2013-06-14 13:11:42 +01:00
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
2013-07-28 00:07:15 +01:00
|
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
}
|
2013-07-30 00:36:55 +01:00
|
|
|
|
|
|
|
|
|
//public async Task<LastResponse> AddShoutAsync(string albumname, string artistname, string message)
|
|
|
|
|
//{
|
|
|
|
|
// var command = new AddShoutCommand(Auth, albumname, artistname, message);
|
|
|
|
|
|
|
|
|
|
// return await command.ExecuteAsync();
|
|
|
|
|
//}
|
2013-06-11 17:40:22 +01:00
|
|
|
|
}
|
|
|
|
|
}
|