ClanInfo added

This commit is contained in:
Michael Shabanov committed 2020-02-25 00:46:02 +03:00
1 parent 6c2104f6d7
commit 1d13507aa7
6 files changed
+74 -4

No files matched your search

@@ -13,5 +13,9 @@ namespace WotBlitzStatisticsPro.WgApiClient
Task<AccountInfo> GetPlayerAccountInfo(long accountId,
RealmType realmType = RealmType.Ru,
RequestLanguage language = RequestLanguage.En);
Task<ClanAccountInfo> GetPlayerClanInfo(long accountId,
RealmType realmType = RealmType.Ru,
RequestLanguage language = RequestLanguage.En);
}
}
@@ -0,0 +1,38 @@
using Newtonsoft.Json;
namespace WotBlitzStatisticsPro.WgApiClient.Model
{
public class ClanAccountInfo
{
///<summary>
/// AccountId
///</summary>
[JsonProperty("account_id")]
public long? AccountId { get; set; }
///<summary>
/// Account nick
///</summary>
[JsonProperty("account_name")]
public string AccountName { get; set; }
///<summary>
/// ClanId
///</summary>
[JsonProperty("clan_id")]
public long? ClanId { get; set; }
///<summary>
/// Date of joining clan
///</summary>
[JsonProperty("joined_at")]
public int? JoinedAt { get; set; }
///<summary>
/// Player clan role
///</summary>
[JsonProperty("role")]
public string Role { get; set; }
}
}
@@ -8,6 +8,7 @@ namespace WotBlitzStatisticsPro.WgApiClient
{
public class WargamingApiClient : WagramingApiClientBase, IWargamingApiClient
{
// ToDo: AddLogging
public WargamingApiClient(
HttpClient httpClient,
IWargamingApiSettings wargamingApiSettings) : base(httpClient, wargamingApiSettings)
@@ -29,8 +30,24 @@ namespace WotBlitzStatisticsPro.WgApiClient
realmType,
language,
"account/info/",
$"account_id={accountId}");
$"account_id={accountId}").ConfigureAwait(false);
return account[accountId.ToString()];
}
public async Task<ClanAccountInfo> GetPlayerClanInfo(long accountId,
RealmType realmType = RealmType.Ru,
RequestLanguage language = RequestLanguage.En)
{
var clanInfo = await GetFromBlitzApi<Dictionary<string, ClanAccountInfo>>(
realmType,
language,
"clans/accountinfo/",
$"account_id={accountId}").ConfigureAwait(false);
if (clanInfo.ContainsKey(accountId.ToString()))
{
return clanInfo[accountId.ToString()];
}
return null;
}
}
}