Tidying command classes

Closes #43
This commit is contained in:
Rikki Tooley 2015-04-04 02:24:13 +01:00
parent bac183be0b
commit e3ca4f3b14
51 changed files with 268 additions and 320 deletions

View File

@ -1,5 +1,4 @@
using IF.Lastfm.Core.Api.Commands.ArtistApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Objects;
using IF.Lastfm.Core.Tests.Resources;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@ -7,18 +6,19 @@
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.Artist;
namespace IF.Lastfm.Core.Tests.Api.Commands
{
[TestClass]
public class ArtistGetInfoCommandTests : CommandTestsBase
{
private GetArtistInfoCommand _command;
private GetInfoCommand _command;
[TestInitialize]
public void Initialise()
{
_command = new GetArtistInfoCommand(MAuth.Object)
_command = new GetInfoCommand(MAuth.Object)
{
ArtistName = "Frightened Rabbit"
};

View File

@ -1,4 +1,3 @@
using IF.Lastfm.Core.Api.Commands.ArtistApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Objects;
using IF.Lastfm.Core.Tests.Resources;
@ -7,18 +6,19 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.Artist;
namespace IF.Lastfm.Core.Tests.Api.Commands
{
[TestClass]
public class ArtistGetTagsByUserCommandTests : CommandTestsBase
{
private ArtistGetTagsByUserCommand _command;
private GetTagsByUserCommand _command;
[TestInitialize]
public void Initialise()
{
_command = new ArtistGetTagsByUserCommand(MAuth.Object, "", "");
_command = new GetTagsByUserCommand(MAuth.Object, "", "");
}
[TestMethod]

View File

@ -1,4 +1,3 @@
using IF.Lastfm.Core.Api.Commands.ArtistApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Objects;
using IF.Lastfm.Core.Tests.Resources;
@ -7,18 +6,19 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.Artist;
namespace IF.Lastfm.Core.Tests.Api.Commands
{
[TestClass]
public class ArtistGetTopTagsCommandTests : CommandTestsBase
{
private ArtistGetTopTagsCommand _command;
private GetTopTagsCommand _command;
[TestInitialize]
public void Initialise()
{
_command = new ArtistGetTopTagsCommand(MAuth.Object, "");
_command = new GetTopTagsCommand(MAuth.Object, "");
}
[TestMethod]

View File

@ -1,5 +1,4 @@
using IF.Lastfm.Core.Api.Commands.LibraryApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Objects;
using IF.Lastfm.Core.Tests.Resources;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@ -7,17 +6,18 @@
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.Library;
namespace IF.Lastfm.Core.Tests.Api.Commands.Library
{
[TestClass]
public class LibraryGetTracksCommandTests : CommandTestsBase
{
private readonly LibraryGetTracksCommand _command;
private readonly GetTracksCommand _command;
public LibraryGetTracksCommandTests()
{
_command = new LibraryGetTracksCommand(MAuth.Object, "rj", "", "", DateTime.MinValue)
_command = new GetTracksCommand(MAuth.Object, "rj", "", "", DateTime.MinValue)
{
Count = 1
};

View File

@ -1,21 +1,21 @@
using IF.Lastfm.Core.Api.Commands.TrackApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Tests.Resources;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.Track;
namespace IF.Lastfm.Core.Tests.Api.Commands.TrackApi
{
[TestClass]
public class GetTrackShoutsCommandTests : CommandTestsBase
{
private GetTrackShoutsCommand _command;
private GetShoutsCommand _command;
public GetTrackShoutsCommandTests()
{
_command = new GetTrackShoutsCommand(MAuth.Object, "Genesis", "Grimes")
_command = new GetShoutsCommand(MAuth.Object, "Genesis", "Grimes")
{
Autocorrect = true,
Page = 5,

View File

@ -1,5 +1,4 @@
using IF.Lastfm.Core.Api.Commands.UserApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Objects;
using IF.Lastfm.Core.Tests.Resources;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@ -7,6 +6,7 @@
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.User;
using Newtonsoft.Json.Linq;
namespace IF.Lastfm.Core.Tests.Api.Commands
@ -14,12 +14,12 @@ namespace IF.Lastfm.Core.Tests.Api.Commands
[TestClass]
public class UserGetRecentTracksCommandTests : CommandTestsBase
{
private UserGetRecentTracksCommand _command;
private GetRecentTracksCommand _command;
[TestInitialize]
public void Initialise()
{
_command = new UserGetRecentTracksCommand(MAuth.Object, "rj")
_command = new GetRecentTracksCommand(MAuth.Object, "rj")
{
Count = 1
};

View File

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.UserApi;
using IF.Lastfm.Core.Api.Commands.User;
using IF.Lastfm.Core.Objects;
using IF.Lastfm.Core.Tests.Resources;
using Microsoft.VisualStudio.TestTools.UnitTesting;

View File

@ -4,6 +4,7 @@
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api;
using IF.Lastfm.Core.Api.Commands.User;
using IF.Lastfm.Core.Api.Commands.UserApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;

View File

@ -1,7 +1,7 @@
using IF.Lastfm.Core.Api.Commands.ArtistApi;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.Artist;
namespace IF.Lastfm.Core.Api
{
@ -16,7 +16,7 @@ public ArtistApi(ILastAuth auth)
public async Task<LastResponse<LastArtist>> GetArtistInfoAsync(string artist, string bioLang = LastFm.DefaultLanguageCode, bool autocorrect = false)
{
var command = new GetArtistInfoCommand(Auth)
var command = new GetInfoCommand(Auth)
{
ArtistName = artist,
BioLanguage = bioLang,
@ -28,7 +28,7 @@ public async Task<LastResponse<LastArtist>> GetArtistInfoAsync(string artist, st
public async Task<LastResponse<LastArtist>> GetArtistInfoByMbidAsync(string mbid, string bioLang = LastFm.DefaultLanguageCode, bool autocorrect = false)
{
var command = new GetArtistInfoCommand(Auth)
var command = new GetInfoCommand(Auth)
{
ArtistMbid = mbid,
BioLanguage = bioLang,
@ -60,7 +60,7 @@ public async Task<PageResponse<LastTrack>> GetTopTracksForArtistAsync(string art
public async Task<PageResponse<LastArtist>> GetSimilarArtistsAsync(string artistname, bool autocorrect = false, int limit = LastFm.DefaultPageLength)
{
var command = new GetSimilarArtistsCommand(Auth, artistname)
var command = new GetSimilarCommand(Auth, artistname)
{
Autocorrect = autocorrect,
Limit = limit
@ -70,7 +70,7 @@ public async Task<PageResponse<LastArtist>> GetSimilarArtistsAsync(string artist
public Task<PageResponse<LastTag>> GetUserTagsForArtistAsync(string artist, string username, bool autocorrect = false, int page = 1, int itemsPerPage = LastFm.DefaultPageLength)
{
var command = new ArtistGetTagsByUserCommand(Auth, artist, username)
var command = new GetTagsByUserCommand(Auth, artist, username)
{
Autocorrect = autocorrect,
Page = page,
@ -82,7 +82,7 @@ public Task<PageResponse<LastTag>> GetUserTagsForArtistAsync(string artist, stri
public Task<PageResponse<LastTag>> GetTopTagsForArtistAsync(string artist, bool autocorrect = false)
{
var command = new ArtistGetTopTagsCommand(Auth, artist)
var command = new GetTopTagsCommand(Auth, artist)
{
Autocorrect = autocorrect
};
@ -92,7 +92,7 @@ public Task<PageResponse<LastTag>> GetTopTagsForArtistAsync(string artist, bool
public async Task<PageResponse<LastShout>> GetShoutsForArtistAsync(string artist, int page = 0, int count = LastFm.DefaultPageLength, bool autocorrect = false)
{
var command = new GetArtistShoutsCommand(Auth, artist)
var command = new GetShoutsCommand(Auth, artist)
{
Autocorrect = autocorrect,
Page = page,
@ -110,7 +110,7 @@ public async Task<LastResponse> AddShoutAsync(string artistname, string messaage
public async Task<PageResponse<LastArtist>> SearchForArtistAsync(string artistname, int page = 1, int itemsPerPage = LastFm.DefaultPageLength)
{
var command = new SearchArtistsCommand(Auth, artistname)
var command = new SearchCommand(Auth, artistname)
{
Page = page,
Count = itemsPerPage

View File

@ -3,7 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.ChartApi;
using IF.Lastfm.Core.Api.Commands.Chart;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;

View File

@ -1,8 +1,8 @@
using IF.Lastfm.Core.Api.Helpers;
using System.Net.Http;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.AlbumApi
namespace IF.Lastfm.Core.Api.Commands.Album
{
internal class AddShoutCommand : PostAsyncCommandBase<LastResponse>
{

View File

@ -1,13 +1,13 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.AlbumApi
namespace IF.Lastfm.Core.Api.Commands.Album
{
internal class GetAlbumInfoCommand : GetAsyncCommandBase<LastResponse<LastAlbum>>
{

View File

@ -1,13 +1,13 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.AlbumApi
namespace IF.Lastfm.Core.Api.Commands.Album
{
internal class GetAlbumShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
{

View File

@ -1,16 +1,13 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.AlbumApi
namespace IF.Lastfm.Core.Api.Commands.Album
{
internal class GetAlbumTopTagsCommand : GetAsyncCommandBase<PageResponse<LastTag>>
{

View File

@ -1,18 +1,15 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.AlbumApi
namespace IF.Lastfm.Core.Api.Commands.Album
{
internal class AlbumGetTagsByUserCommand : GetAsyncCommandBase<PageResponse<LastTag>>
internal class GetTagsByUserCommand : GetAsyncCommandBase<PageResponse<LastTag>>
{
public string ArtistName { get; set; }
@ -22,7 +19,7 @@ internal class AlbumGetTagsByUserCommand : GetAsyncCommandBase<PageResponse<Last
public bool Autocorrect { get; set; }
public AlbumGetTagsByUserCommand(ILastAuth auth, string artist, string album, string username)
public GetTagsByUserCommand(ILastAuth auth, string artist, string album, string username)
: base(auth)
{
Method = "album.getTags";

View File

@ -8,11 +8,11 @@
namespace IF.Lastfm.Core.Api.Commands.AlbumApi
{
internal class SearchAlbumsCommand : GetAsyncCommandBase<PageResponse<LastAlbum>>
internal class SearchCommand : GetAsyncCommandBase<PageResponse<LastAlbum>>
{
public string AlbumName { get; set; }
public SearchAlbumsCommand(ILastAuth auth, string albumName)
public SearchCommand(ILastAuth auth, string albumName)
: base(auth)
{
Method = "album.search";

View File

@ -1,8 +1,8 @@
using IF.Lastfm.Core.Api.Helpers;
using System.Net.Http;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class AddShoutCommand : PostAsyncCommandBase<LastResponse>
{

View File

@ -1,15 +1,15 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class GetArtistInfoCommand : GetAsyncCommandBase<LastResponse<LastArtist>>
internal class GetInfoCommand : GetAsyncCommandBase<LastResponse<LastArtist>>
{
public string ArtistMbid { get; set; }
@ -19,7 +19,7 @@ internal class GetArtistInfoCommand : GetAsyncCommandBase<LastResponse<LastArtis
public bool Autocorrect { get; set; }
public GetArtistInfoCommand(ILastAuth auth)
public GetInfoCommand(ILastAuth auth)
: base(auth)
{
Method = "artist.getInfo";

View File

@ -1,20 +1,20 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class GetArtistShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
internal class GetShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
{
public string ArtistName { get; set; }
public bool Autocorrect { get; set; }
public GetArtistShoutsCommand(ILastAuth auth, string artistname)
public GetShoutsCommand(ILastAuth auth, string artistname)
: base(auth)
{
Method = "artist.getShouts";

View File

@ -1,17 +1,15 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class GetSimilarArtistsCommand : GetAsyncCommandBase<PageResponse<LastArtist>>
internal class GetSimilarCommand : GetAsyncCommandBase<PageResponse<LastArtist>>
{
public bool Autocorrect { get; set; }
@ -19,7 +17,7 @@ internal class GetSimilarArtistsCommand : GetAsyncCommandBase<PageResponse<LastA
public int? Limit { get; set; }
public GetSimilarArtistsCommand(ILastAuth auth, string artistName)
public GetSimilarCommand(ILastAuth auth, string artistName)
: base(auth)
{
Method = "artist.getSimilar";

View File

@ -7,9 +7,9 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class ArtistGetTagsByUserCommand : GetAsyncCommandBase<PageResponse<LastTag>>
internal class GetTagsByUserCommand : GetAsyncCommandBase<PageResponse<LastTag>>
{
public string ArtistName { get; set; }
@ -17,7 +17,7 @@ internal class ArtistGetTagsByUserCommand : GetAsyncCommandBase<PageResponse<Las
public bool Autocorrect { get; set; }
public ArtistGetTagsByUserCommand(ILastAuth auth, string artist, string username)
public GetTagsByUserCommand(ILastAuth auth, string artist, string username)
: base(auth)
{
Method = "artist.getTags";

View File

@ -1,12 +1,12 @@
using IF.Lastfm.Core.Api.Enums;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class GetTopAlbumsCommand : GetAsyncCommandBase<PageResponse<LastAlbum>>
{

View File

@ -7,15 +7,15 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class ArtistGetTopTagsCommand : GetAsyncCommandBase<PageResponse<LastTag>>
internal class GetTopTagsCommand : GetAsyncCommandBase<PageResponse<LastTag>>
{
public string ArtistName { get; set; }
public bool Autocorrect { get; set; }
public ArtistGetTopTagsCommand(ILastAuth auth, string artistName) : base(auth)
public GetTopTagsCommand(ILastAuth auth, string artistName) : base(auth)
{
Method = "artist.getTopTags";

View File

@ -1,12 +1,12 @@
using IF.Lastfm.Core.Api.Enums;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class GetTopTracksCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
{

View File

@ -1,18 +1,18 @@
using IF.Lastfm.Core.Api.Enums;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.ArtistApi
namespace IF.Lastfm.Core.Api.Commands.Artist
{
internal class SearchArtistsCommand : GetAsyncCommandBase<PageResponse<LastArtist>>
internal class SearchCommand : GetAsyncCommandBase<PageResponse<LastArtist>>
{
public string ArtistName { get; set; }
public SearchArtistsCommand(ILastAuth auth, string artistName)
public SearchCommand(ILastAuth auth, string artistName)
: base(auth)
{
Method = "artist.search";

View File

@ -1,13 +1,13 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.AuthApi
namespace IF.Lastfm.Core.Api.Commands.Auth
{
internal class GetMobileSessionCommand : UnauthenticatedPostAsyncCommandBase<LastResponse<LastUserSession>>
{

View File

@ -1,12 +1,12 @@
using IF.Lastfm.Core.Api.Enums;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.ChartApi
namespace IF.Lastfm.Core.Api.Commands.Chart
{
internal class GetTopArtistsCommand : GetAsyncCommandBase<PageResponse<LastArtist>>
{

View File

@ -1,12 +1,12 @@
using IF.Lastfm.Core.Api.Enums;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.ChartApi
namespace IF.Lastfm.Core.Api.Commands.Chart
{
internal class GetTopTracksCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
{

View File

@ -1,15 +1,15 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.LibraryApi
namespace IF.Lastfm.Core.Api.Commands.Library
{
internal class LibraryGetTracksCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
internal class GetTracksCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
{
public string Username { get; private set; }
@ -19,7 +19,7 @@ internal class LibraryGetTracksCommand : GetAsyncCommandBase<PageResponse<LastTr
public DateTimeOffset From { get; private set; }
public LibraryGetTracksCommand(ILastAuth auth, string username, string artist, string album, DateTimeOffset from)
public GetTracksCommand(ILastAuth auth, string username, string artist, string album, DateTimeOffset from)
: base(auth)
{
Method = "library.getTracks";

View File

@ -1,8 +1,8 @@
using IF.Lastfm.Core.Api.Helpers;
using System.Net.Http;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class AddShoutCommand : PostAsyncCommandBase<LastResponse>
{

View File

@ -1,15 +1,15 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class GetTrackInfoCommand : GetAsyncCommandBase<LastResponse<LastTrack>>
internal class GetInfoCommand : GetAsyncCommandBase<LastResponse<LastTrack>>
{
public string TrackMbid { get; set; }
@ -21,7 +21,7 @@ internal class GetTrackInfoCommand : GetAsyncCommandBase<LastResponse<LastTrack>
public bool Autocorrect { get; set; }
public GetTrackInfoCommand(ILastAuth auth)
public GetInfoCommand(ILastAuth auth)
: base(auth)
{
Method = "track.getInfo";

View File

@ -1,15 +1,15 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class GetTrackShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
internal class GetShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
{
public string TrackName { get; set; }
@ -17,7 +17,7 @@ internal class GetTrackShoutsCommand : GetAsyncCommandBase<PageResponse<LastShou
public bool Autocorrect { get; set; }
public GetTrackShoutsCommand(ILastAuth auth, string trackname, string artistname)
public GetShoutsCommand(ILastAuth auth, string trackname, string artistname)
: base(auth)
{
Method = "track.getShouts";

View File

@ -1,17 +1,15 @@
using IF.Lastfm.Core.Api.Enums;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class GetSimilarTracksCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
internal class GetSimilarCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
{
public string ArtistName { get; set; }
@ -21,7 +19,7 @@ internal class GetSimilarTracksCommand : GetAsyncCommandBase<PageResponse<LastTr
public string TrackName { get; set; }
public GetSimilarTracksCommand(ILastAuth auth, string trackName, string artistName)
public GetSimilarCommand(ILastAuth auth, string trackName, string artistName)
: base(auth)
{
Method = "track.getSimilar";

View File

@ -1,16 +1,16 @@
using IF.Lastfm.Core.Api.Helpers;
using System.Net.Http;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class LoveTrackCommand : PostAsyncCommandBase<LastResponse>
internal class LoveCommand : PostAsyncCommandBase<LastResponse>
{
public string TrackName { get; set; }
public string ArtistName { get; set; }
public LoveTrackCommand(ILastAuth auth, string trackname, string artistname)
public LoveCommand(ILastAuth auth, string trackname, string artistname)
: base(auth)
{
Method = "track.love";

View File

@ -1,12 +1,12 @@
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using System;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class TrackScrobbleCommand : PostAsyncCommandBase<LastResponse>
internal class ScrobbleCommand : PostAsyncCommandBase<LastResponse>
{
public string Artist { get; set; }
@ -20,7 +20,7 @@ internal class TrackScrobbleCommand : PostAsyncCommandBase<LastResponse>
public bool ChosenByUser { get; set; }
public TrackScrobbleCommand(ILastAuth auth, string artist, string album, string track, string albumArtist, DateTimeOffset? timeplayed)
public ScrobbleCommand(ILastAuth auth, string artist, string album, string track, string albumArtist, DateTimeOffset? timeplayed)
: base(auth)
{
Method = "track.scrobble";
@ -32,7 +32,7 @@ public TrackScrobbleCommand(ILastAuth auth, string artist, string album, string
TimePlayed = timeplayed;
}
public TrackScrobbleCommand(ILastAuth auth, Scrobble scrobble)
public ScrobbleCommand(ILastAuth auth, Scrobble scrobble)
: this(auth, scrobble.Artist, scrobble.Album, scrobble.Track, scrobble.AlbumArtist, scrobble.TimePlayed)
{
ChosenByUser = scrobble.ChosenByUser;

View File

@ -1,18 +1,18 @@
using IF.Lastfm.Core.Api.Enums;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class SearchTracksCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
internal class SearchCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
{
public string TrackName { get; set; }
public SearchTracksCommand(ILastAuth auth, string trackName)
public SearchCommand(ILastAuth auth, string trackName)
: base(auth)
{
Method = "track.search";

View File

@ -1,16 +1,16 @@
using IF.Lastfm.Core.Api.Helpers;
using System.Net.Http;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class UnloveTrackCommand : PostAsyncCommandBase<LastResponse>
internal class UnloveCommand : PostAsyncCommandBase<LastResponse>
{
public string TrackName { get; set; }
public string ArtistName { get; set; }
public UnloveTrackCommand(ILastAuth auth, string trackname, string artistname)
public UnloveCommand(ILastAuth auth, string trackname, string artistname)
: base(auth)
{
Method = "track.unlove";

View File

@ -1,12 +1,12 @@
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
namespace IF.Lastfm.Core.Api.Commands.Track
{
internal class TrackUpdateNowPlayingCommand : PostAsyncCommandBase<LastResponse>
internal class UpdateNowPlayingCommand : PostAsyncCommandBase<LastResponse>
{
public string Artist { get; set; }
@ -20,7 +20,7 @@ internal class TrackUpdateNowPlayingCommand : PostAsyncCommandBase<LastResponse>
public TimeSpan? Duration { get; set; }
public TrackUpdateNowPlayingCommand(ILastAuth auth, string artist, string album, string track)
public UpdateNowPlayingCommand(ILastAuth auth, string artist, string album, string track)
: base(auth)
{
Method = "track.updateNowPlaying";
@ -30,7 +30,7 @@ public TrackUpdateNowPlayingCommand(ILastAuth auth, string artist, string album,
Track = track;
}
public TrackUpdateNowPlayingCommand(ILastAuth auth, Scrobble scrobble)
public UpdateNowPlayingCommand(ILastAuth auth, Scrobble scrobble)
: this(auth, scrobble.Artist, scrobble.Album, scrobble.Track)
{
ChosenByUser = scrobble.ChosenByUser;

View File

@ -1,52 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json.Linq;
namespace IF.Lastfm.Core.Api.Commands.TrackApi
{
internal class ScrobbleTracksCommand : PostAsyncCommandBase<LastResponse>
{
public ScrobbleTracksCommand(IAuth auth, Scrobble scrobble) : base(auth)
{
ConstructInternal(auth, new[] { scrobble });
}
public ScrobbleTracksCommand(IAuth auth, IEnumerable<Scrobble> scrobbles) : base(auth)
{
ConstructInternal(auth, scrobbles);
}
private void ConstructInternal(IAuth auth, IEnumerable<Scrobble> scrobbles)
{
Method = "track.scrobble";
}
public override Task<LastResponse> ExecuteAsync()
{
var parameters = new Dictionary<string, string>
{
{"artist", scrobble.Artist},
{"album", scrobble.Album},
{"track", scrobble.Track},
{"albumArtist", scrobble.AlbumArtist},
{"chosenByUser", scrobble.ChosenByUser.ToInt().ToString()},
{"timestamp", scrobble.TimePlayed.ToUnixTimestamp().ToString()},
{"sk", Auth.User.Token}
};
HttpContent post = new StringContent();
}
public override Task<LastResponse> HandleResponse(HttpResponseMessage response)
{
throw new NotImplementedException();
}
}
}

View File

@ -1,8 +1,8 @@
using IF.Lastfm.Core.Api.Helpers;
using System.Net.Http;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Helpers;
namespace IF.Lastfm.Core.Api.Commands.UserApi
namespace IF.Lastfm.Core.Api.Commands.User
{
internal class AddShoutCommand : PostAsyncCommandBase<LastResponse>
{

View File

@ -1,18 +1,18 @@
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.UserApi
namespace IF.Lastfm.Core.Api.Commands.User
{
internal class GetUserInfoCommand : GetAsyncCommandBase<LastResponse<LastUser>>
internal class GetInfoCommand : GetAsyncCommandBase<LastResponse<LastUser>>
{
public string Username { get; set; }
public GetUserInfoCommand(ILastAuth auth, string username) : base(auth)
public GetInfoCommand(ILastAuth auth, string username) : base(auth)
{
Method = "user.getInfo";
Username = username;

View File

@ -1,13 +1,13 @@
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.UserApi
namespace IF.Lastfm.Core.Api.Commands.User
{
internal class GetRecentStationsCommand : PostAsyncCommandBase<PageResponse<LastStation>>
{

View File

@ -1,23 +1,21 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using System.Linq;
namespace IF.Lastfm.Core.Api.Commands.UserApi
namespace IF.Lastfm.Core.Api.Commands.User
{
internal class UserGetRecentTracksCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
internal class GetRecentTracksCommand : GetAsyncCommandBase<PageResponse<LastTrack>>
{
public string Username { get; private set; }
public DateTimeOffset? From { get; set; }
public UserGetRecentTracksCommand(ILastAuth auth, string username) : base(auth)
public GetRecentTracksCommand(ILastAuth auth, string username) : base(auth)
{
Method = "user.getRecentTracks";

View File

@ -6,7 +6,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace IF.Lastfm.Core.Api.Commands.UserApi
namespace IF.Lastfm.Core.Api.Commands.User
{
internal class GetRecommendedArtistsCommand : PostAsyncCommandBase<PageResponse<LastArtist>>
{

View File

@ -1,18 +1,18 @@
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.UserApi
namespace IF.Lastfm.Core.Api.Commands.User
{
internal class GetUserShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
internal class GetShoutsCommand : GetAsyncCommandBase<PageResponse<LastShout>>
{
public string Username { get; set; }
public GetUserShoutsCommand(ILastAuth auth, string username) : base(auth)
public GetShoutsCommand(ILastAuth auth, string username) : base(auth)
{
Method = "user.getShouts";
Username = username;

View File

@ -1,12 +1,11 @@
using System.Net.Http;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.Threading.Tasks;
namespace IF.Lastfm.Core.Api.Commands.UserApi
namespace IF.Lastfm.Core.Api.Commands.User
{
internal class GetTopAlbumsCommand : GetAsyncCommandBase<PageResponse<LastAlbum>>
{

View File

@ -2,7 +2,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.AuthApi;
using IF.Lastfm.Core.Api.Commands.Auth;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;

View File

@ -1,8 +1,8 @@
using IF.Lastfm.Core.Api.Commands.LibraryApi;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using System;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.Library;
namespace IF.Lastfm.Core.Api
{
@ -12,7 +12,7 @@ public class LibraryApi : ILibraryApi
public async Task<PageResponse<LastTrack>> GetTracks(string username, string artist, string album, DateTimeOffset since, int pagenumber = 0, int count = LastFm.DefaultPageLength)
{
var command = new LibraryGetTracksCommand(Auth, username, artist, album, since)
var command = new GetTracksCommand(Auth, username, artist, album, since)
{
Page = pagenumber,
Count = count

View File

@ -1,10 +1,10 @@
using System.Collections.Generic;
using System.Net.Http;
using IF.Lastfm.Core.Api.Commands.TrackApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.Track;
namespace IF.Lastfm.Core.Api
{
@ -19,19 +19,19 @@ public TrackApi(ILastAuth auth)
public Task<LastResponse> ScrobbleAsync(Scrobble scrobble)
{
var command = new TrackScrobbleCommand(Auth, scrobble);
var command = new ScrobbleCommand(Auth, scrobble);
return command.ExecuteAsync();
}
public Task<LastResponse> UpdateNowPlayingAsync(Scrobble scrobble)
{
var command = new TrackUpdateNowPlayingCommand(Auth, scrobble);
var command = new UpdateNowPlayingCommand(Auth, scrobble);
return command.ExecuteAsync();
}
public async Task<PageResponse<LastShout>> GetShoutsForTrackAsync(string trackname, string artistname, bool autocorrect = false, int page = 0, int count = LastFm.DefaultPageLength)
{
var command = new GetTrackShoutsCommand(Auth, trackname, artistname)
var command = new GetShoutsCommand(Auth, trackname, artistname)
{
Page = page,
Count = count,
@ -42,7 +42,7 @@ public async Task<PageResponse<LastShout>> GetShoutsForTrackAsync(string trackna
public async Task<LastResponse<LastTrack>> GetInfoAsync(string trackname, string artistname, string username = "")
{
var command = new GetTrackInfoCommand(Auth)
var command = new GetInfoCommand(Auth)
{
TrackName = trackname,
ArtistName = artistname,
@ -54,7 +54,7 @@ public async Task<LastResponse<LastTrack>> GetInfoAsync(string trackname, string
public async Task<LastResponse<LastTrack>> GetInfoByMbidAsync(string mbid)
{
var command = new GetTrackInfoCommand(Auth)
var command = new GetInfoCommand(Auth)
{
TrackMbid = mbid
};
@ -64,7 +64,7 @@ public async Task<LastResponse<LastTrack>> GetInfoByMbidAsync(string mbid)
public async Task<PageResponse<LastTrack>> GetSimilarTracksAsync(string trackname, string artistname, bool autocorrect = false, int limit = 100)
{
var command = new GetSimilarTracksCommand(Auth, trackname, artistname)
var command = new GetSimilarCommand(Auth, trackname, artistname)
{
Autocorrect = autocorrect,
Limit = limit
@ -75,19 +75,19 @@ public async Task<PageResponse<LastTrack>> GetSimilarTracksAsync(string tracknam
public async Task<LastResponse> LoveTrackAsync(string trackname, string artistname)
{
var command = new LoveTrackCommand(Auth, trackname, artistname);
var command = new LoveCommand(Auth, trackname, artistname);
return await command.ExecuteAsync();
}
public async Task<LastResponse> UnloveTrackAsync(string trackname, string artistname)
{
var command = new UnloveTrackCommand(Auth, trackname, artistname);
var command = new UnloveCommand(Auth, trackname, artistname);
return await command.ExecuteAsync();
}
public async Task<PageResponse<LastTrack>> SearchForTrackAsync(string trackname, int page = 1, int itemsPerPage = LastFm.DefaultPageLength)
{
var command = new SearchTracksCommand(Auth, trackname)
var command = new SearchCommand(Auth, trackname)
{
Page = page,
Count = itemsPerPage

View File

@ -1,9 +1,9 @@
using IF.Lastfm.Core.Api.Commands.UserApi;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Enums;
using IF.Lastfm.Core.Api.Helpers;
using IF.Lastfm.Core.Objects;
using System;
using System.Threading.Tasks;
using IF.Lastfm.Core.Api.Commands.User;
namespace IF.Lastfm.Core.Api
{
@ -47,7 +47,7 @@ public async Task<PageResponse<LastAlbum>> GetTopAlbums(string username, LastSta
/// <returns>Enumerable of LastTrack</returns>
public async Task<PageResponse<LastTrack>> GetRecentScrobbles(string username, DateTimeOffset? since = null, int pagenumber = 0, int count = LastFm.DefaultPageLength)
{
var command = new UserGetRecentTracksCommand(Auth, username)
var command = new GetRecentTracksCommand(Auth, username)
{
Page = pagenumber,
Count = count,
@ -70,7 +70,7 @@ public async Task<PageResponse<LastStation>> GetRecentStations(string username,
public async Task<PageResponse<LastShout>> GetShoutsAsync(string username, int pagenumber, int count = LastFm.DefaultPageLength)
{
var command = new GetUserShoutsCommand(Auth, username)
var command = new GetShoutsCommand(Auth, username)
{
Page = pagenumber,
Count = count
@ -81,7 +81,7 @@ public async Task<PageResponse<LastShout>> GetShoutsAsync(string username, int p
public async Task<LastResponse<LastUser>> GetInfoAsync(string username)
{
var command = new GetUserInfoCommand(Auth, username);
var command = new GetInfoCommand(Auth, username);
return await command.ExecuteAsync();
}

View File

@ -40,49 +40,61 @@
<ItemGroup>
<Compile Include="Api\AlbumApi.cs" />
<Compile Include="Api\ArtistApi.cs" />
<Compile Include="Api\Commands\AlbumApi\GetAlbumTopTagsCommand.cs" />
<Compile Include="Api\Commands\AlbumApi\AlbumGetTagsByUserCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\ArtistGetTagsByUserCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\ArtistGetTopTagsCommand.cs" />
<Compile Include="Api\Commands\LibraryApi\LibraryGetTracksCommand.cs" />
<Compile Include="Api\Commands\TrackApi\TrackScrobbleCommand.cs" />
<Compile Include="Api\Commands\TrackApi\TrackUpdateNowPlayingCommand.cs" />
<Compile Include="Api\Commands\Album\AddShoutCommand.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Api\Commands\Album\GetTagsByUserCommand.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Api\Commands\Album\GetAlbumInfoCommand.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Api\Commands\Album\GetAlbumShoutsCommand.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Api\Commands\Album\GetAlbumTopTagsCommand.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Api\Commands\Album\SearchCommand.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Api\Commands\Artist\GetTagsByUserCommand.cs" />
<Compile Include="Api\Commands\Artist\GetTopTagsCommand.cs" />
<Compile Include="Api\Commands\Library\GetTracksCommand.cs" />
<Compile Include="Api\Commands\Track\ScrobbleCommand.cs" />
<Compile Include="Api\Commands\Track\UpdateNowPlayingCommand.cs" />
<Compile Include="Api\Commands\UnauthenticatedPostAsyncCommandBase.cs" />
<Compile Include="Api\Commands\UserApi\GetRecommendedArtistsCommand.cs" />
<Compile Include="Api\Commands\User\GetRecommendedArtistsCommand.cs" />
<Compile Include="Api\ILibraryApi.cs" />
<Compile Include="Api\LastAuth.cs" />
<Compile Include="Api\ChartApi.cs" />
<Compile Include="Api\Commands\AlbumApi\AddShoutCommand.cs" />
<Compile Include="Api\Commands\AlbumApi\GetAlbumInfoCommand.cs" />
<Compile Include="Api\Commands\AlbumApi\GetAlbumShoutsCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\AddShoutCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\GetArtistInfoCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\GetArtistShoutsCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\GetTopAlbumsCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\GetTopTracksCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\GetSimilarArtistsCommand.cs" />
<Compile Include="Api\Commands\ArtistApi\SearchArtistsCommand.cs" />
<Compile Include="Api\Commands\AuthApi\GetMobileSessionCommand.cs" />
<Compile Include="Api\Commands\ChartApi\GetTopArtistsCommand.cs" />
<Compile Include="Api\Commands\ChartApi\GetTopTracksCommand.cs" />
<Compile Include="Api\Commands\Artist\AddShoutCommand.cs" />
<Compile Include="Api\Commands\Artist\GetInfoCommand.cs" />
<Compile Include="Api\Commands\Artist\GetShoutsCommand.cs" />
<Compile Include="Api\Commands\Artist\GetTopAlbumsCommand.cs" />
<Compile Include="Api\Commands\Artist\GetTopTracksCommand.cs" />
<Compile Include="Api\Commands\Artist\GetSimilarCommand.cs" />
<Compile Include="Api\Commands\Artist\SearchCommand.cs" />
<Compile Include="Api\Commands\Auth\GetMobileSessionCommand.cs" />
<Compile Include="Api\Commands\Chart\GetTopArtistsCommand.cs" />
<Compile Include="Api\Commands\Chart\GetTopTracksCommand.cs" />
<Compile Include="Api\Commands\GetAsyncCommandBase.cs" />
<Compile Include="Api\Commands\IAsyncCommand.cs" />
<Compile Include="Api\Commands\LastAsyncCommandBase.cs" />
<Compile Include="Api\Commands\PostAsyncCommandBase.cs" />
<Compile Include="Api\Commands\AlbumApi\SearchAlbumsCommand.cs" />
<Compile Include="Api\Commands\TrackApi\AddShoutCommand.cs" />
<Compile Include="Api\Commands\TrackApi\GetSimilarTracksCommand.cs" />
<Compile Include="Api\Commands\TrackApi\GetTrackInfoCommand.cs" />
<Compile Include="Api\Commands\TrackApi\GetTrackShoutsCommand.cs" />
<Compile Include="Api\Commands\TrackApi\LoveTrackCommand.cs" />
<Compile Include="Api\Commands\TrackApi\SearchTracksCommand.cs" />
<Compile Include="Api\Commands\TrackApi\UnloveTrackCommand.cs" />
<Compile Include="Api\Commands\UserApi\AddShoutCommand.cs" />
<Compile Include="Api\Commands\UserApi\UserGetRecentTracksCommand.cs" />
<Compile Include="Api\Commands\UserApi\GetRecentStationsCommand.cs" />
<Compile Include="Api\Commands\UserApi\GetTopAlbumsCommand.cs" />
<Compile Include="Api\Commands\UserApi\GetUserInfoCommand.cs" />
<Compile Include="Api\Commands\UserApi\GetUserShoutsCommand.cs" />
<Compile Include="Api\Commands\Track\AddShoutCommand.cs" />
<Compile Include="Api\Commands\Track\GetSimilarCommand.cs" />
<Compile Include="Api\Commands\Track\GetInfoCommand.cs" />
<Compile Include="Api\Commands\Track\GetShoutsCommand.cs" />
<Compile Include="Api\Commands\Track\LoveCommand.cs" />
<Compile Include="Api\Commands\Track\SearchCommand.cs" />
<Compile Include="Api\Commands\Track\UnloveCommand.cs" />
<Compile Include="Api\Commands\User\AddShoutCommand.cs" />
<Compile Include="Api\Commands\User\GetRecentTracksCommand.cs" />
<Compile Include="Api\Commands\User\GetRecentStationsCommand.cs" />
<Compile Include="Api\Commands\User\GetTopAlbumsCommand.cs" />
<Compile Include="Api\Commands\User\GetInfoCommand.cs" />
<Compile Include="Api\Commands\User\GetShoutsCommand.cs" />
<Compile Include="Api\Enums\LastFmApiError.cs" />
<Compile Include="Api\Enums\LastStatsTimeSpan.cs" />
<Compile Include="Api\Helpers\ApiExtensions.cs" />