@@ -40,7 +40,7 @@ public SpotifyWebAPI()
40
40
public void Dispose ( )
41
41
{
42
42
WebClient . Dispose ( ) ;
43
- GC . SuppressFinalize ( this ) ; //TODO
43
+ GC . SuppressFinalize ( this ) ;
44
44
}
45
45
46
46
#region Search
@@ -1450,16 +1450,34 @@ public async Task<FullTrack> GetTrackAsync(String id, String market = "")
1450
1450
1451
1451
#region Util
1452
1452
1453
- public Paging < T > Next < T > ( Paging < T > paging )
1453
+ public Paging < T > GetNextPage < T > ( Paging < T > paging )
1454
1454
{
1455
+ if ( ! paging . HasNextPage ( ) )
1456
+ throw new InvalidOperationException ( "This Paging-Object has no Next-Page" ) ;
1455
1457
return DownloadData < Paging < T > > ( paging . Next ) ;
1456
1458
}
1457
1459
1458
- public Paging < T > Previous < T > ( Paging < T > paging )
1460
+ public async Task < Paging < T > > GetNextPageAsync < T > ( Paging < T > paging )
1459
1461
{
1462
+ if ( ! paging . HasNextPage ( ) )
1463
+ throw new InvalidOperationException ( "This Paging-Object has no Next-Page" ) ;
1464
+ return await DownloadDataAsync < Paging < T > > ( paging . Next ) ;
1465
+ }
1466
+
1467
+ public Paging < T > GetPreviousPage < T > ( Paging < T > paging )
1468
+ {
1469
+ if ( ! paging . HasPreviousPage ( ) )
1470
+ throw new InvalidOperationException ( "This Paging-Object has no Previous-Page" ) ;
1460
1471
return DownloadData < Paging < T > > ( paging . Previous ) ;
1461
1472
}
1462
1473
1474
+ public async Task < Paging < T > > GetPreviousPageAsync < T > ( Paging < T > paging )
1475
+ {
1476
+ if ( ! paging . HasPreviousPage ( ) )
1477
+ throw new InvalidOperationException ( "This Paging-Object has no Previous-Page" ) ;
1478
+ return await DownloadDataAsync < Paging < T > > ( paging . Previous ) ;
1479
+ }
1480
+
1463
1481
public T UploadData < T > ( String url , String uploadData , String method = "POST" )
1464
1482
{
1465
1483
if ( ! UseAuth )
0 commit comments