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) 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, Autocorrect = autocorrect,
Limit = limit, Limit = limit,
HttpClient = HttpClient HttpClient = HttpClient

View File

@ -14,19 +14,28 @@ internal class GetSimilarCommand : GetAsyncCommandBase<PageResponse<LastArtist>>
{ {
public bool Autocorrect { get; set; } public bool Autocorrect { get; set; }
public string ArtistMbid { get; set; }
public string ArtistName { get; set; } public string ArtistName { get; set; }
public int? Limit { get; set; } public int? Limit { get; set; }
public GetSimilarCommand(ILastAuth auth, string artistName) public GetSimilarCommand(ILastAuth auth)
: base(auth) : base(auth){}
{
ArtistName = artistName;
}
public override void SetParameters() public override void SetParameters()
{ {
Parameters.Add("artist", ArtistName);
if (ArtistMbid != null)
{
Parameters.Add("mbid", ArtistMbid);
}
else
{
Parameters.Add("artist", ArtistName);
}
Parameters.Add("autocorrect", Convert.ToInt32(Autocorrect).ToString()); Parameters.Add("autocorrect", Convert.ToInt32(Autocorrect).ToString());
if (Limit != null) if (Limit != null)
@ -37,7 +46,7 @@ public override void SetParameters()
DisableCaching(); 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(); 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>> 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, Task<PageResponse<LastAlbum>> GetTopAlbumsAsync(string artist,
bool autocorrect = false, bool autocorrect = false,
int page = 1, int page = 1,