Added GetSimilarAsyncMbidAsync function

This commit is contained in:
fckoppenol 2016-04-08 11:09:26 +02:00
parent 66e4530566
commit 50efd3d2fb
3 changed files with 32 additions and 8 deletions

View File

@ -67,8 +67,21 @@ public async Task<PageResponse<LastTrack>> GetTopTracksAsync(string artist, bool
public async Task<PageResponse<LastArtist>> GetSimilarAsync(string artistname, bool autocorrect = false, int limit = LastFm.DefaultPageLength)
{
var command = new GetSimilarCommand(Auth, artistname)
var command = new GetSimilarCommand(Auth)
{
ArtistName = artistname,
Autocorrect = autocorrect,
Limit = limit,
HttpClient = HttpClient
};
return await command.ExecuteAsync();
}
public async Task<PageResponse<LastArtist>> GetSimilarAsyncMbidAsync(string mbid, bool autocorrect = false, int limit = LastFm.DefaultPageLength)
{
var command = new GetSimilarCommand(Auth)
{
ArtistMbid = mbid,
Autocorrect = autocorrect,
Limit = limit,
HttpClient = HttpClient

View File

@ -14,19 +14,28 @@ internal class GetSimilarCommand : GetAsyncCommandBase<PageResponse<LastArtist>>
{
public bool Autocorrect { get; set; }
public string ArtistMbid { get; set; }
public string ArtistName { get; set; }
public int? Limit { get; set; }
public GetSimilarCommand(ILastAuth auth, string artistName)
: base(auth)
{
ArtistName = artistName;
}
public GetSimilarCommand(ILastAuth auth)
: base(auth){}
public override void SetParameters()
{
if (ArtistMbid != null)
{
Parameters.Add("mbid", ArtistMbid);
}
else
{
Parameters.Add("artist", ArtistName);
}
Parameters.Add("autocorrect", Convert.ToInt32(Autocorrect).ToString());
if (Limit != null)
@ -37,7 +46,7 @@ public override void SetParameters()
DisableCaching();
}
public async override Task<PageResponse<LastArtist>> HandleResponse(HttpResponseMessage response)
public override async Task<PageResponse<LastArtist>> HandleResponse(HttpResponseMessage response)
{
var json = await response.Content.ReadAsStringAsync();

View File

@ -20,6 +20,8 @@ Task<LastResponse<LastArtist>> GetInfoByMbidAsync(string mbid, string bioLang =
Task<PageResponse<LastArtist>> GetSimilarAsync(string artistname, bool autocorrect = false, int limit = 100);
Task<PageResponse<LastArtist>> GetSimilarAsyncMbidAsync(string mbid, bool autocorrect = false, int limit = 100);
Task<PageResponse<LastAlbum>> GetTopAlbumsAsync(string artist,
bool autocorrect = false,
int page = 1,