library.removeTrack

This commit is contained in:
kasthack 2015-04-05 01:23:37 +03:00
parent 0769feac68
commit f61bea9173
4 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,28 @@
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.Library {
internal class RemoveTrackCommand : PostAsyncCommandBase<LastResponse> {
public string Artist { get; set; }
public string Track { get; set; }
public RemoveTrackCommand( ILastAuth auth, string artist, string track) : base( auth ) {
Method = "library.removeTrack";
Artist = artist;
Track = track;
}
public override void SetParameters() {
Parameters.Add( "artist", Artist );
Parameters.Add( "track", Track );
}
public async override Task<LastResponse> HandleResponse( HttpResponseMessage response ) {
return await LastResponse.HandleResponse( response );
}
}
}

View File

@ -20,5 +20,7 @@ Task<LastResponse> RemoveScrobble(
string artist,
string track,
DateTimeOffset timestamp );
Task<LastResponse> RemoveTrack( string artist, string track );
}
}

View File

@ -8,8 +8,10 @@ namespace IF.Lastfm.Core.Api
{
public class LibraryApi : ILibraryApi
{
public LibraryApi( ILastAuth auth ) { Auth = auth; }
public ILastAuth Auth { get; private set; }
public async Task<PageResponse<LastTrack>> GetTracks(string username, string artist, string album, DateTimeOffset since, int pagenumber = 0, int count = LastFm.DefaultPageLength)
{
var command = new GetTracksCommand(Auth, username, artist, album, since)
@ -25,5 +27,9 @@ public async Task<LastResponse> RemoveScrobble( string artist, string track, Dat
var command = new RemoveScrobbleCommand( Auth, artist, track, timestamp );
return await command.ExecuteAsync();
}
public async Task<LastResponse> RemoveTrack( string artist, string track ) {
var command = new RemoveTrackCommand( Auth, artist, track );
return await command.ExecuteAsync();
}
}
}

View File

@ -62,6 +62,7 @@
<Compile Include="Api\Commands\Artist\GetTopTagsCommand.cs" />
<Compile Include="Api\Commands\Library\GetTracksCommand.cs" />
<Compile Include="Api\Commands\Library\RemoveScrobbleCommand.cs" />
<Compile Include="Api\Commands\Library\RemoveTrackCommand.cs" />
<Compile Include="Api\Commands\Track\ScrobbleCommand.cs" />
<Compile Include="Api\Commands\Track\UpdateNowPlayingCommand.cs" />
<Compile Include="Api\Commands\UnauthenticatedPostAsyncCommandBase.cs" />