2
2
3
3
using System . Collections . Generic ;
4
4
using System . Web ;
5
- using Newtonsoft . Json ;
6
5
using StackExchange . NET . Interfaces ;
7
6
using StackExchange . NET . Models ;
8
7
@@ -14,64 +13,64 @@ public partial class StackExchangeClient : IBadges
14
13
{
15
14
public IBadges Badges => this ;
16
15
17
- Badges IBadges . GetAllBadges ( BadgeFilters filters , string inName )
16
+ BaseResponse < Badges > IBadges . GetAllBadges ( BadgeFilters filters , string inName )
18
17
{
19
18
var apiParams = filters . GetQueryParams ( ) ;
20
19
var url = $ "{ _baseApiUrl } /badges?key={ _apiKey } &{ apiParams } &inname={ inName } ";
21
20
var response = _httpClient . GetAsync ( url ) . Result . Content . ReadAsStringAsync ( ) . Result ;
22
- var badges = JsonConvert . DeserializeObject < Badges > ( response ) ;
23
- return badges ;
21
+ var apiResult = response . DeserializeJson < Data < Badges > > ( ) . ValidateApiResponse ( ) ;
22
+ return apiResult ;
24
23
}
25
24
26
- Badges IBadges . GetBadgesByIds ( List < string > ids , BadgeFilters filters )
25
+ BaseResponse < Badges > IBadges . GetBadgesByIds ( List < string > ids , BadgeFilters filters )
27
26
{
28
27
var apiParams = filters . GetQueryParams ( ) ;
29
28
var url = $ "{ _baseApiUrl } /badges/";
30
29
var idsToEncode = string . Join ( ";" , ids . ToArray ( ) ) ;
31
30
url = url + $ "{ HttpUtility . UrlEncode ( idsToEncode ) } " + $ "?key={ _apiKey } &{ apiParams } ";
32
31
var response = _httpClient . GetAsync ( url ) . Result . Content . ReadAsStringAsync ( ) . Result ;
33
- var badges = JsonConvert . DeserializeObject < Badges > ( response ) ;
34
- return badges ;
32
+ var apiResult = response . DeserializeJson < Data < Badges > > ( ) . ValidateApiResponse ( ) ;
33
+ return apiResult ;
35
34
}
36
35
37
- Badges IBadges . GetNonTaggedBadges ( List < string > ids , BadgeFilters filters )
36
+ BaseResponse < Badges > IBadges . GetNonTaggedBadges ( List < string > ids , BadgeFilters filters )
38
37
{
39
38
var apiParams = filters . GetQueryParams ( ) ;
40
39
var url = $ "{ _baseApiUrl } /badges/name";
41
40
var idsToEncode = string . Join ( ";" , ids . ToArray ( ) ) ;
42
41
url = url + $ "{ HttpUtility . UrlEncode ( idsToEncode ) } " + $ "?key={ _apiKey } &{ apiParams } ";
43
42
var response = _httpClient . GetAsync ( url ) . Result . Content . ReadAsStringAsync ( ) . Result ;
44
- var badges = JsonConvert . DeserializeObject < Badges > ( response ) ;
45
- return badges ;
43
+ var apiResult = response . DeserializeJson < Data < Badges > > ( ) . ValidateApiResponse ( ) ;
44
+ return apiResult ;
46
45
}
47
46
48
- Badges IBadges . GetRecentlyAwardedBadges ( BadgeFilters filters )
47
+ BaseResponse < Badges > IBadges . GetRecentlyAwardedBadges ( BadgeFilters filters )
49
48
{
50
49
var apiParams = filters . GetQueryParams ( ) ;
51
- var url = $ "{ _baseApiUrl } /badges/recipients"+ $ "?key={ _apiKey } &{ apiParams } ";
50
+ var url = $ "{ _baseApiUrl } /badges/recipients"+ $ "?key={ _apiKey } &{ apiParams } ";
52
51
var response = _httpClient . GetAsync ( url ) . Result . Content . ReadAsStringAsync ( ) . Result ;
53
- var badges = JsonConvert . DeserializeObject < Badges > ( response ) ;
54
- return badges ;
52
+ var apiResult = response . DeserializeJson < Data < Badges > > ( ) . ValidateApiResponse ( ) ;
53
+ return apiResult ;
55
54
}
56
55
57
- Badges IBadges . GetRecentlyAwardedBadgesByIds ( List < string > ids , BadgeFilters filters )
56
+ BaseResponse < Badges > IBadges . GetRecentlyAwardedBadgesByIds ( List < string > ids , BadgeFilters filters )
58
57
{
59
58
var apiParams = filters . GetQueryParams ( ) ;
60
59
var url = $ "{ _baseApiUrl } /badges/";
61
60
var idsToEncode = string . Join ( ";" , ids . ToArray ( ) ) ;
62
61
url = url + $ "{ HttpUtility . UrlEncode ( idsToEncode ) } /recipients" + $ "?key={ _apiKey } &{ apiParams } ";
63
62
var response = _httpClient . GetAsync ( url ) . Result . Content . ReadAsStringAsync ( ) . Result ;
64
- var badges = JsonConvert . DeserializeObject < Badges > ( response ) ;
65
- return badges ;
63
+ var apiResult = response . DeserializeJson < Data < Badges > > ( ) . ValidateApiResponse ( ) ;
64
+ return apiResult ;
66
65
}
67
66
68
- Badges IBadges . GetAllTaggedBadges ( BadgeFilters filters , string inName )
67
+ BaseResponse < Badges > IBadges . GetAllTaggedBadges ( BadgeFilters filters , string inName )
69
68
{
70
69
var apiParams = filters . GetQueryParams ( ) ;
71
- var url = $ "{ _baseApiUrl } /badges/tags"+ $ "?key={ _apiKey } &{ apiParams } ";
70
+ var url = $ "{ _baseApiUrl } /badges/tags"+ $ "?key={ _apiKey } &{ apiParams } ";
72
71
var response = _httpClient . GetAsync ( url ) . Result . Content . ReadAsStringAsync ( ) . Result ;
73
- var badges = JsonConvert . DeserializeObject < Badges > ( response ) ;
74
- return badges ;
72
+ var apiResult = response . DeserializeJson < Data < Badges > > ( ) . ValidateApiResponse ( ) ;
73
+ return apiResult ;
75
74
}
76
75
}
77
76
}
0 commit comments