Merge pull request #1 from DrMboga/feature/graphql-refactor

Feature/graphql refactor
This commit is contained in:
DrMboga authored and GitHub committed 2021-06-04 15:37:56 +02:00
commit 8c9770f8a0
53 files changed
+2197 -1642

No files matched your search

@@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using FluentAssertions; using FluentAssertions;
@@ -158,7 +159,7 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
_findPlayersErrors = new List<IClientError>(); _findPlayersErrors = new List<IClientError>();
_findPlayersResultMock = new(); _findPlayersResultMock = new();
_findPlayersOperationResultMock = new(); _findPlayersOperationResultMock = new();
_findPlayersResultMock.SetupGet(r => r.Players).Returns(players); _findPlayersResultMock.SetupGet(r => r.Players).Returns(players.Select(c => c as IFindPlayers_Players).ToList());
_findPlayersOperationResultMock.SetupGet(r => r.Errors).Returns(_findPlayersErrors); _findPlayersOperationResultMock.SetupGet(r => r.Errors).Returns(_findPlayersErrors);
_findPlayersQueryMock.Setup(q => q.ExecuteAsync( _findPlayersQueryMock.Setup(q => q.ExecuteAsync(
@@ -176,7 +177,7 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
_findClansErrors = new List<IClientError>(); _findClansErrors = new List<IClientError>();
_findClansResultMock = new(); _findClansResultMock = new();
_findClansOperationResultMock = new(); _findClansOperationResultMock = new();
_findClansResultMock.SetupGet(r => r.Clans).Returns(clans); _findClansResultMock.SetupGet(r => r.Clans).Returns(clans.Select(c => c as IFindClans_Clans).ToList());
_findClansOperationResultMock.SetupGet(r => r.Errors).Returns(_findClansErrors); _findClansOperationResultMock.SetupGet(r => r.Errors).Returns(_findClansErrors);
_findClanQueryMock.Setup(q => q.ExecuteAsync( _findClanQueryMock.Setup(q => q.ExecuteAsync(
@@ -194,8 +195,9 @@ namespace WotBlitzStatisticsPro.Blazor.Tests.Services
_playerInfoErrors = new List<IClientError>(); _playerInfoErrors = new List<IClientError>();
_playerInfoResultMock = new(); _playerInfoResultMock = new();
_playerInfoOperationResultMock = new(); _playerInfoOperationResultMock = new();
_playerInfoResultMock.SetupGet(r => r.AccountInfo).Returns(result.accountInfo); _playerInfoResultMock.SetupGet(r => r.AccountInfo).Returns(result.accountInfo as IPlayer_AccountInfo);
_playerInfoResultMock.SetupGet(r => r.AccountMedals).Returns(new Player_AccountMedals_AccountAchievementsResponse(CurrentAccountId, result.achievementsBySection)); _playerInfoResultMock.SetupGet(r => r.AccountMedals).Returns(new Player_AccountMedals_AccountAchievementsResponse(CurrentAccountId,
result.achievementsBySection.Select(a => a as IPlayer_AccountMedals_Sections).ToList()));
_playerInfoOperationResultMock.SetupGet(r => r.Errors).Returns(_findClansErrors); _playerInfoOperationResultMock.SetupGet(r => r.Errors).Returns(_findClansErrors);
_playerQueryMock.Setup(q => q.ExecuteAsync( _playerQueryMock.Setup(q => q.ExecuteAsync(
@@ -9,13 +9,17 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query FindClans($searchString: String!, $realmType: RealmType!, $language: RequestLanguage!) { /// query FindClans($searchString: String!, $realmType: RealmType!, $language: RequestLanguage!) {
/// clans(searchString: $searchString, realmType: $realmType, language: $language) { /// clans(searchString: $searchString, realmType: $realmType, language: $language) {
/// __typename /// __typename
/// clanId /// ... clanShortInfo
/// createdAt
/// membersCount
/// name
/// tag
/// } /// }
/// } /// }
///
/// fragment clanShortInfo on ClanSearchResponseItem {
/// clanId
/// createdAt
/// membersCount
/// name
/// tag
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -9,13 +9,17 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query FindClans($searchString: String!, $realmType: RealmType!, $language: RequestLanguage!) { /// query FindClans($searchString: String!, $realmType: RealmType!, $language: RequestLanguage!) {
/// clans(searchString: $searchString, realmType: $realmType, language: $language) { /// clans(searchString: $searchString, realmType: $realmType, language: $language) {
/// __typename /// __typename
/// clanId /// ... clanShortInfo
/// createdAt
/// membersCount
/// name
/// tag
/// } /// }
/// } /// }
///
/// fragment clanShortInfo on ClanSearchResponseItem {
/// clanId
/// createdAt
/// membersCount
/// name
/// tag
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -27,8 +31,8 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
public static FindClansQueryDocument Instance { get; } = new FindClansQueryDocument(); public static FindClansQueryDocument Instance { get; } = new FindClansQueryDocument();
public global::StrawberryShake.OperationKind Kind => global::StrawberryShake.OperationKind.Query; public global::StrawberryShake.OperationKind Kind => global::StrawberryShake.OperationKind.Query;
public global::System.ReadOnlySpan<global::System.Byte> Body => new global::System.Byte[]{0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6c, 0x61, 0x6e, 0x73, 0x28, 0x24, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x21, 0x2c, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x21, 0x2c, 0x20, 0x24, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x21, 0x29, 0x20, 0x7b, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x73, 0x28, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x24, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x24, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x61, 0x67, 0x20, 0x7d, 0x20, 0x7d}; public global::System.ReadOnlySpan<global::System.Byte> Body => new global::System.Byte[]{0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6c, 0x61, 0x6e, 0x73, 0x28, 0x24, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x21, 0x2c, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x21, 0x2c, 0x20, 0x24, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x21, 0x29, 0x20, 0x7b, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x73, 0x28, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x24, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x24, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x7d, 0x20, 0x7d, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x6f, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x20, 0x7b, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x61, 0x67, 0x20, 0x7d};
public global::StrawberryShake.DocumentHash Hash { get; } = new global::StrawberryShake.DocumentHash("md5Hash", "11fca1eacd03c231507100b687abb039"); public global::StrawberryShake.DocumentHash Hash { get; } = new global::StrawberryShake.DocumentHash("md5Hash", "2e482e826748b6c1274f2922af0a71e1");
public override global::System.String ToString() public override global::System.String ToString()
{ {
#if NETSTANDARD2_0 #if NETSTANDARD2_0
@@ -9,14 +9,18 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query FindPlayers($accountNick: String!, $realmType: RealmType!, $language: RequestLanguage!) { /// query FindPlayers($accountNick: String!, $realmType: RealmType!, $language: RequestLanguage!) {
/// players(accountNick: $accountNick, realmType: $realmType, language: $language) { /// players(accountNick: $accountNick, realmType: $realmType, language: $language) {
/// __typename /// __typename
/// accountId /// ... playerShortInfo
/// nickname
/// clanTag
/// lastBattle
/// battlesCount
/// winRate
/// } /// }
/// } /// }
///
/// fragment playerShortInfo on AccountsSearchResponseItem {
/// accountId
/// nickname
/// clanTag
/// lastBattle
/// battlesCount
/// winRate
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -9,14 +9,18 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query FindPlayers($accountNick: String!, $realmType: RealmType!, $language: RequestLanguage!) { /// query FindPlayers($accountNick: String!, $realmType: RealmType!, $language: RequestLanguage!) {
/// players(accountNick: $accountNick, realmType: $realmType, language: $language) { /// players(accountNick: $accountNick, realmType: $realmType, language: $language) {
/// __typename /// __typename
/// accountId /// ... playerShortInfo
/// nickname
/// clanTag
/// lastBattle
/// battlesCount
/// winRate
/// } /// }
/// } /// }
///
/// fragment playerShortInfo on AccountsSearchResponseItem {
/// accountId
/// nickname
/// clanTag
/// lastBattle
/// battlesCount
/// winRate
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -28,8 +32,8 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
public static FindPlayersQueryDocument Instance { get; } = new FindPlayersQueryDocument(); public static FindPlayersQueryDocument Instance { get; } = new FindPlayersQueryDocument();
public global::StrawberryShake.OperationKind Kind => global::StrawberryShake.OperationKind.Query; public global::StrawberryShake.OperationKind Kind => global::StrawberryShake.OperationKind.Query;
public global::System.ReadOnlySpan<global::System.Byte> Body => new global::System.Byte[]{0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x28, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x69, 0x63, 0x6b, 0x3a, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x21, 0x2c, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x21, 0x2c, 0x20, 0x24, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x21, 0x29, 0x20, 0x7b, 0x20, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x28, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x69, 0x63, 0x6b, 0x3a, 0x20, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x69, 0x63, 0x6b, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x24, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x20, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x20, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x20, 0x7d, 0x20, 0x7d}; public global::System.ReadOnlySpan<global::System.Byte> Body => new global::System.Byte[]{0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x28, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x69, 0x63, 0x6b, 0x3a, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x21, 0x2c, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x21, 0x2c, 0x20, 0x24, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x21, 0x29, 0x20, 0x7b, 0x20, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x28, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x69, 0x63, 0x6b, 0x3a, 0x20, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x69, 0x63, 0x6b, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x24, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x7d, 0x20, 0x7d, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x6f, 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x20, 0x7b, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x20, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x20, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x20, 0x7d};
public global::StrawberryShake.DocumentHash Hash { get; } = new global::StrawberryShake.DocumentHash("md5Hash", "8939fb5a67dcef3387474f884fdfddb7"); public global::StrawberryShake.DocumentHash Hash { get; } = new global::StrawberryShake.DocumentHash("md5Hash", "be09b021ccb0073e1af5990eb58cbff6");
public override global::System.String ToString() public override global::System.String ToString()
{ {
#if NETSTANDARD2_0 #if NETSTANDARD2_0
@@ -0,0 +1,52 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
/// <summary>
/// Information about player
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IAccount : IStatistics
{
/// <summary>
/// Player account identifier
/// </summary>
public global::System.Int64 AccountId { get; }
/// <summary>
/// Account creation date
/// </summary>
public global::System.DateTimeOffset CreatedAt { get; }
/// <summary>
/// Player's nick
/// </summary>
public global::System.String? Nickname { get; }
/// <summary>
/// Tank id, which kills max frags per battle
/// </summary>
public global::System.Int64 MaxFragsTankId { get; }
/// <summary>
/// Tank Id which created max experience per battle
/// </summary>
public global::System.Int64 MaxXpTankId { get; }
/// <summary>
/// Average tier
/// </summary>
public global::System.Double AvgTier { get; }
/// <summary>
/// Clan info
/// </summary>
public global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_ClanInfo? ClanInfo { get; }
/// <summary>
/// All player's tanks
/// </summary>
public global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks>? Tanks { get; }
}
}
@@ -0,0 +1,92 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
/// <summary>
/// Clan information
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IClan
{
/// <summary>
/// Clan ID
/// </summary>
public global::System.Int64 ClanId { get; }
/// <summary>
/// Date of joining clan
/// </summary>
public global::System.DateTimeOffset JoinedAt { get; }
/// <summary>
/// Player clan role ID
/// </summary>
public global::System.String? Role { get; }
/// <summary>
/// Player clan role
/// </summary>
public global::System.String RoleLocalized { get; }
/// <summary>
/// Clan name
/// </summary>
public global::System.String? Name { get; }
/// <summary>
/// Date of clan creation
/// </summary>
public global::System.DateTimeOffset CreatedAt { get; }
/// <summary>
/// Clan creator account id
/// </summary>
public global::System.Int64? CreatorId { get; }
/// <summary>
/// Clan creator nick
/// </summary>
public global::System.String? CreatorName { get; }
/// <summary>
/// Clan description
/// </summary>
public global::System.String? Description { get; }
/// <summary>
/// Html Clan description
/// </summary>
public global::System.String? DescriptionHtml { get; }
/// <summary>
/// Clan commander accountId
/// </summary>
public global::System.Int64? LeaderId { get; }
/// <summary>
/// Clan commander nick
/// </summary>
public global::System.String? LeaderName { get; }
/// <summary>
/// Clan members count
/// </summary>
public global::System.Int64? MembersCount { get; }
/// <summary>
/// Clan motto
/// </summary>
public global::System.String? Motto { get; }
/// <summary>
/// Clan tag
/// </summary>
public global::System.String? Tag { get; }
/// <summary>
/// Clan info updated at
/// </summary>
public global::System.DateTimeOffset? UpdatedAt { get; }
}
}
@@ -0,0 +1,37 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
/// <summary>
/// Found clans list item
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IClanShortInfo
{
/// <summary>
/// Clan Id
/// </summary>
public global::System.Int64 ClanId { get; }
/// <summary>
/// Clan created at. (UNIX Epoch time)
/// </summary>
public global::System.Int32 CreatedAt { get; }
/// <summary>
/// Clan members count
/// </summary>
public global::System.Int32 MembersCount { get; }
/// <summary>
/// Clan Name
/// </summary>
public global::System.String? Name { get; }
/// <summary>
/// Clan Tag
/// </summary>
public global::System.String? Tag { get; }
}
}
@@ -9,13 +9,17 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query FindClans($searchString: String!, $realmType: RealmType!, $language: RequestLanguage!) { /// query FindClans($searchString: String!, $realmType: RealmType!, $language: RequestLanguage!) {
/// clans(searchString: $searchString, realmType: $realmType, language: $language) { /// clans(searchString: $searchString, realmType: $realmType, language: $language) {
/// __typename /// __typename
/// clanId /// ... clanShortInfo
/// createdAt
/// membersCount
/// name
/// tag
/// } /// }
/// } /// }
///
/// fragment clanShortInfo on ClanSearchResponseItem {
/// clanId
/// createdAt
/// membersCount
/// name
/// tag
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -7,31 +7,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// Found clans list item /// Found clans list item
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IFindClans_Clans public interface IFindClans_Clans : IClanShortInfo
{ {
/// <summary>
/// Clan Id
/// </summary>
public global::System.Int64 ClanId { get; }
/// <summary>
/// Clan created at. (UNIX Epoch time)
/// </summary>
public global::System.Int32 CreatedAt { get; }
/// <summary>
/// Clan members count
/// </summary>
public global::System.Int32 MembersCount { get; }
/// <summary>
/// Clan Name
/// </summary>
public global::System.String? Name { get; }
/// <summary>
/// Clan Tag
/// </summary>
public global::System.String? Tag { get; }
} }
} }
@@ -9,14 +9,18 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query FindPlayers($accountNick: String!, $realmType: RealmType!, $language: RequestLanguage!) { /// query FindPlayers($accountNick: String!, $realmType: RealmType!, $language: RequestLanguage!) {
/// players(accountNick: $accountNick, realmType: $realmType, language: $language) { /// players(accountNick: $accountNick, realmType: $realmType, language: $language) {
/// __typename /// __typename
/// accountId /// ... playerShortInfo
/// nickname
/// clanTag
/// lastBattle
/// battlesCount
/// winRate
/// } /// }
/// } /// }
///
/// fragment playerShortInfo on AccountsSearchResponseItem {
/// accountId
/// nickname
/// clanTag
/// lastBattle
/// battlesCount
/// winRate
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -7,36 +7,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// Account search result item /// Account search result item
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IFindPlayers_Players public interface IFindPlayers_Players : IPlayerShortInfo
{ {
/// <summary>
/// Player accountId
/// </summary>
public global::System.Int64 AccountId { get; }
/// <summary>
/// Player nick
/// </summary>
public global::System.String? Nickname { get; }
/// <summary>
/// Clan tag. Null if player doesn't have clan membership
/// </summary>
public global::System.String? ClanTag { get; }
/// <summary>
/// Last battle time
/// </summary>
public global::System.DateTimeOffset LastBattle { get; }
/// <summary>
/// Player's battles count
/// </summary>
public global::System.Int64 BattlesCount { get; }
/// <summary>
/// Win rate from 0 to 100
/// </summary>
public global::System.Int32 WinRate { get; }
} }
} }
@@ -0,0 +1,67 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
/// <summary>
/// Player's achievement information
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IMedal
{
/// <summary>
/// Achievement Id
/// </summary>
public global::System.String Id { get; }
/// <summary>
/// Achievement name
/// </summary>
public global::System.String? Name { get; }
/// <summary>
/// Achievement type
/// </summary>
public global::System.String? MedalType { get; }
/// <summary>
/// Achievement condition
/// </summary>
public global::System.String? Condition { get; }
/// <summary>
/// Achievement description
/// </summary>
public global::System.String? Description { get; }
/// <summary>
/// Achievement value
/// </summary>
public global::System.Int32 AchievementValue { get; }
/// <summary>
/// Achievement max series value
/// </summary>
public global::System.Int32? MaxSeriesValue { get; }
/// <summary>
/// Achievement normal sized image
/// </summary>
public global::System.String? Image { get; }
/// <summary>
/// Achievement big image
/// </summary>
public global::System.String? ImageBig { get; }
/// <summary>
/// Order
/// </summary>
public global::System.Int64? Order { get; }
/// <summary>
/// Section Id
/// </summary>
public global::System.String SectionId { get; }
}
}
@@ -9,124 +9,125 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query Player($accountId: Long!, $realmType: RealmType!, $requestLanguage: RequestLanguage!) { /// query Player($accountId: Long!, $realmType: RealmType!, $requestLanguage: RequestLanguage!) {
/// accountInfo(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) { /// accountInfo(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) {
/// __typename /// __typename
/// accountId /// ... account
/// createdAt
/// lastBattleTime
/// nickname
/// maxFragsTankId
/// maxXpTankId
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// avgTier
/// clanInfo {
/// __typename
/// clanId
/// joinedAt
/// role
/// roleLocalized
/// name
/// createdAt
/// creatorId
/// creatorName
/// description
/// descriptionHtml
/// leaderId
/// leaderName
/// membersCount
/// motto
/// tag
/// updatedAt
/// }
/// tanks {
/// __typename
/// tankId
/// battleLifeTimeInSeconds
/// lastBattleTime
/// markOfMastery
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// avgBattleLifeTimeInMinutes
/// name
/// tankNationId
/// tankNation
/// tier
/// tankTypeId
/// tankType
/// isPremium
/// previewImage
/// normalImage
/// }
/// } /// }
/// accountMedals(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) { /// accountMedals(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) {
/// __typename /// __typename
/// accountId /// accountId
/// sections { /// sections {
/// __typename /// __typename
/// sectionId /// ... section
/// order
/// name
/// medals {
/// __typename
/// id
/// name
/// medalType
/// condition
/// description
/// achievementValue
/// maxSeriesValue
/// image
/// imageBig
/// order
/// sectionId
/// ... on Achievement {
/// id
/// }
/// }
/// } /// }
/// } /// }
/// } /// }
///
/// fragment account on AccountInfoResponse {
/// accountId
/// createdAt
/// nickname
/// maxFragsTankId
/// maxXpTankId
/// avgTier
/// ... statistics
/// clanInfo {
/// __typename
/// ... clan
/// }
/// tanks {
/// __typename
/// ... tank
/// }
/// }
///
/// fragment statistics on Statistics {
/// lastBattleTime
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// }
///
/// fragment clan on ClanInfoResponse {
/// clanId
/// joinedAt
/// role
/// roleLocalized
/// name
/// createdAt
/// creatorId
/// creatorName
/// description
/// descriptionHtml
/// leaderId
/// leaderName
/// membersCount
/// motto
/// tag
/// updatedAt
/// }
///
/// fragment tank on TankInfoResponse {
/// tankId
/// battleLifeTimeInSeconds
/// markOfMastery
/// avgBattleLifeTimeInMinutes
/// name
/// tankNationId
/// tankNation
/// tier
/// tankTypeId
/// tankType
/// isPremium
/// previewImage
/// normalImage
/// ... statistics
/// }
///
/// fragment section on AchievementSection {
/// sectionId
/// order
/// name
/// medals {
/// __typename
/// ... medal
/// ... on Achievement {
/// id
/// }
/// }
/// }
///
/// fragment medal on Achievement {
/// id
/// name
/// medalType
/// condition
/// description
/// achievementValue
/// maxSeriesValue
/// image
/// imageBig
/// order
/// sectionId
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -0,0 +1,42 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
/// <summary>
/// Account search result item
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IPlayerShortInfo
{
/// <summary>
/// Player accountId
/// </summary>
public global::System.Int64 AccountId { get; }
/// <summary>
/// Player nick
/// </summary>
public global::System.String? Nickname { get; }
/// <summary>
/// Clan tag. Null if player doesn't have clan membership
/// </summary>
public global::System.String? ClanTag { get; }
/// <summary>
/// Last battle time
/// </summary>
public global::System.DateTimeOffset LastBattle { get; }
/// <summary>
/// Player's battles count
/// </summary>
public global::System.Int64 BattlesCount { get; }
/// <summary>
/// Win rate from 0 to 100
/// </summary>
public global::System.Int32 WinRate { get; }
}
}
@@ -7,166 +7,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// Information about player /// Information about player
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IPlayer_AccountInfo public interface IPlayer_AccountInfo : IAccount
{ {
/// <summary>
/// Player account identifier
/// </summary>
public global::System.Int64 AccountId { get; }
/// <summary>
/// Account creation date
/// </summary>
public global::System.DateTimeOffset CreatedAt { get; }
/// <summary>
/// Last battle time
/// </summary>
public global::System.DateTimeOffset LastBattleTime { get; }
/// <summary>
/// Player's nick
/// </summary>
public global::System.String? Nickname { get; }
/// <summary>
/// Tank id, which kills max frags per battle
/// </summary>
public global::System.Int64 MaxFragsTankId { get; }
/// <summary>
/// Tank Id which created max experience per battle
/// </summary>
public global::System.Int64 MaxXpTankId { get; }
/// <summary>
/// Battles count
/// </summary>
public global::System.Int64 Battles { get; }
/// <summary>
/// Capture points
/// </summary>
public global::System.Int64 CapturePoints { get; }
/// <summary>
/// Total damage amount
/// </summary>
public global::System.Int64 DamageDealt { get; }
/// <summary>
/// Total amount of received damage
/// </summary>
public global::System.Int64 DamageReceived { get; }
/// <summary>
/// Dropped capture points
/// </summary>
public global::System.Int64 DroppedCapturePoints { get; }
/// <summary>
/// Total amount of frags
/// </summary>
public global::System.Int64 Frags { get; }
/// <summary>
/// Total amount of fras grater ten 8 lvl
/// </summary>
public global::System.Int64 Frags8P { get; }
/// <summary>
/// Total amount of hits
/// </summary>
public global::System.Int64 Hits { get; }
/// <summary>
/// Total amount of losses
/// </summary>
public global::System.Int64 Losses { get; }
/// <summary>
/// Max frags per battle
/// </summary>
public global::System.Int64 MaxFrags { get; }
/// <summary>
/// Max experience per battle
/// </summary>
public global::System.Int64 MaxXp { get; }
/// <summary>
/// Total shots count
/// </summary>
public global::System.Int64 Shots { get; }
/// <summary>
/// Total count of spotted vehicles
/// </summary>
public global::System.Int64 Spotted { get; }
/// <summary>
/// Total count of survived battles
/// </summary>
public global::System.Int64 SurvivedBattles { get; }
/// <summary>
/// Total count of survived and winned battles
/// </summary>
public global::System.Int64 WinAndSurvived { get; }
/// <summary>
/// Total wins count
/// </summary>
public global::System.Int64 Wins { get; }
/// <summary>
/// Total amount of experience
/// </summary>
public global::System.Int64 Xp { get; }
/// <summary>
/// Wn7 coefficient
/// </summary>
public global::System.Double Wn7 { get; }
/// <summary>
/// Player's win rate
/// </summary>
public global::System.Decimal WinRate { get; }
/// <summary>
/// Player's average damage
/// </summary>
public global::System.Decimal AvgDamage { get; }
/// <summary>
/// Player's average XP
/// </summary>
public global::System.Decimal AvgXp { get; }
/// <summary>
/// Damage coefficient
/// </summary>
public global::System.Decimal DamageCoefficient { get; }
/// <summary>
/// Rate of survival
/// </summary>
public global::System.Decimal SurvivalRate { get; }
/// <summary>
/// Average tier
/// </summary>
public global::System.Double AvgTier { get; }
/// <summary>
/// Clan info
/// </summary>
public global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_ClanInfo? ClanInfo { get; }
/// <summary>
/// All player's tanks
/// </summary>
public global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks>? Tanks { get; }
} }
} }
@@ -7,86 +7,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// Clan information /// Clan information
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IPlayer_AccountInfo_ClanInfo public interface IPlayer_AccountInfo_ClanInfo : IClan
{ {
/// <summary>
/// Clan ID
/// </summary>
public global::System.Int64 ClanId { get; }
/// <summary>
/// Date of joining clan
/// </summary>
public global::System.DateTimeOffset JoinedAt { get; }
/// <summary>
/// Player clan role ID
/// </summary>
public global::System.String? Role { get; }
/// <summary>
/// Player clan role
/// </summary>
public global::System.String RoleLocalized { get; }
/// <summary>
/// Clan name
/// </summary>
public global::System.String? Name { get; }
/// <summary>
/// Date of clan creation
/// </summary>
public global::System.DateTimeOffset CreatedAt { get; }
/// <summary>
/// Clan creator account id
/// </summary>
public global::System.Int64? CreatorId { get; }
/// <summary>
/// Clan creator nick
/// </summary>
public global::System.String? CreatorName { get; }
/// <summary>
/// Clan description
/// </summary>
public global::System.String? Description { get; }
/// <summary>
/// Html Clan description
/// </summary>
public global::System.String? DescriptionHtml { get; }
/// <summary>
/// Clan commander accountId
/// </summary>
public global::System.Int64? LeaderId { get; }
/// <summary>
/// Clan commander nick
/// </summary>
public global::System.String? LeaderName { get; }
/// <summary>
/// Clan members count
/// </summary>
public global::System.Int64? MembersCount { get; }
/// <summary>
/// Clan motto
/// </summary>
public global::System.String? Motto { get; }
/// <summary>
/// Clan tag
/// </summary>
public global::System.String? Tag { get; }
/// <summary>
/// Clan info updated at
/// </summary>
public global::System.DateTimeOffset? UpdatedAt { get; }
} }
} }
@@ -7,191 +7,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// Information about player's tank /// Information about player's tank
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IPlayer_AccountInfo_Tanks public interface IPlayer_AccountInfo_Tanks : ITank
{ {
/// <summary>
/// Tank identifier
/// </summary>
public global::System.Int64 TankId { get; }
/// <summary>
/// Total time in battle until tank killed
/// </summary>
public global::System.Int32 BattleLifeTimeInSeconds { get; }
/// <summary>
/// Last battle
/// </summary>
public global::System.DateTimeOffset LastBattleTime { get; }
/// <summary>
/// Mark of Mastery
/// </summary>
public global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery MarkOfMastery { get; }
/// <summary>
/// Battles count
/// </summary>
public global::System.Int64 Battles { get; }
/// <summary>
/// Base capture points
/// </summary>
public global::System.Int64 CapturePoints { get; }
/// <summary>
/// Damage dealt
/// </summary>
public global::System.Int64 DamageDealt { get; }
/// <summary>
/// Damage received
/// </summary>
public global::System.Int64 DamageReceived { get; }
/// <summary>
/// Base dropped capture points
/// </summary>
public global::System.Int64 DroppedCapturePoints { get; }
/// <summary>
/// Frags count
/// </summary>
public global::System.Int64 Frags { get; }
/// <summary>
/// Frags count after 8 tier
/// </summary>
public global::System.Int64 Frags8P { get; }
/// <summary>
/// Hits count
/// </summary>
public global::System.Int64 Hits { get; }
/// <summary>
/// Losses count
/// </summary>
public global::System.Int64 Losses { get; }
/// <summary>
/// Max frags per battle
/// </summary>
public global::System.Int64 MaxFrags { get; }
/// <summary>
/// Max XP per battle
/// </summary>
public global::System.Int64 MaxXp { get; }
/// <summary>
/// Shots count
/// </summary>
public global::System.Int64 Shots { get; }
/// <summary>
/// Spotted vehicles count
/// </summary>
public global::System.Int64 Spotted { get; }
/// <summary>
/// Amount of survived battles
/// </summary>
public global::System.Int64 SurvivedBattles { get; }
/// <summary>
/// Amount of survived and wined battles
/// </summary>
public global::System.Int64 WinAndSurvived { get; }
/// <summary>
/// Wins count
/// </summary>
public global::System.Int64 Wins { get; }
/// <summary>
/// Total experience
/// </summary>
public global::System.Int64 Xp { get; }
/// <summary>
/// Wn7 coefficient
/// </summary>
public global::System.Double Wn7 { get; }
/// <summary>
/// Tank's win rate
/// </summary>
public global::System.Decimal WinRate { get; }
/// <summary>
/// Average tank's damage
/// </summary>
public global::System.Decimal AvgDamage { get; }
/// <summary>
/// Average XP
/// </summary>
public global::System.Decimal AvgXp { get; }
/// <summary>
/// Damage coefficient
/// </summary>
public global::System.Decimal DamageCoefficient { get; }
/// <summary>
/// Rate of survival
/// </summary>
public global::System.Decimal SurvivalRate { get; }
/// <summary>
/// Average life time in battle until tank is killed.
/// </summary>
public global::System.Decimal AvgBattleLifeTimeInMinutes { get; }
/// <summary>
/// Tank name
/// </summary>
public global::System.String? Name { get; }
/// <summary>
/// Tank nation dictionary identifier
/// </summary>
public global::System.String? TankNationId { get; }
/// <summary>
/// Localized tank nation name
/// </summary>
public global::System.String? TankNation { get; }
/// <summary>
/// Tank tier
/// </summary>
public global::System.Int32 Tier { get; }
/// <summary>
/// Tank type dictionary identifier
/// </summary>
public global::System.String? TankTypeId { get; }
/// <summary>
/// Localized tank type name
/// </summary>
public global::System.String? TankType { get; }
/// <summary>
/// Is it premium tank or not
/// </summary>
public global::System.Boolean IsPremium { get; }
/// <summary>
/// Vehicle preview image
/// </summary>
public global::System.String? PreviewImage { get; }
/// <summary>
/// Vehicle normal image
/// </summary>
public global::System.String? NormalImage { get; }
} }
} }
@@ -7,26 +7,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// Represents achievement section info and it's achievements list /// Represents achievement section info and it's achievements list
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IPlayer_AccountMedals_Sections public interface IPlayer_AccountMedals_Sections : ISection
{ {
/// <summary>
/// Section Identifier
/// </summary>
public global::System.String SectionId { get; }
/// <summary>
/// Section order
/// </summary>
public global::System.Int32 Order { get; }
/// <summary>
/// Section Name
/// </summary>
public global::System.String Name { get; }
/// <summary>
/// Achievements in the section
/// </summary>
public global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountMedals_Sections_Medals>? Medals { get; }
} }
} }
@@ -7,61 +7,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// Player's achievement information /// Player's achievement information
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IPlayer_AccountMedals_Sections_Medals public interface IPlayer_AccountMedals_Sections_Medals : IMedal
{ {
/// <summary>
/// Achievement Id
/// </summary>
public global::System.String Id { get; }
/// <summary>
/// Achievement name
/// </summary>
public global::System.String? Name { get; }
/// <summary>
/// Achievement type
/// </summary>
public global::System.String? MedalType { get; }
/// <summary>
/// Achievement condition
/// </summary>
public global::System.String? Condition { get; }
/// <summary>
/// Achievement description
/// </summary>
public global::System.String? Description { get; }
/// <summary>
/// Achievement value
/// </summary>
public global::System.Int32 AchievementValue { get; }
/// <summary>
/// Achievement max series value
/// </summary>
public global::System.Int32? MaxSeriesValue { get; }
/// <summary>
/// Achievement normal sized image
/// </summary>
public global::System.String? Image { get; }
/// <summary>
/// Achievement big image
/// </summary>
public global::System.String? ImageBig { get; }
/// <summary>
/// Order
/// </summary>
public global::System.Int64? Order { get; }
/// <summary>
/// Section Id
/// </summary>
public global::System.String SectionId { get; }
} }
} }
@@ -0,0 +1,32 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
/// <summary>
/// Represents achievement section info and it's achievements list
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface ISection
{
/// <summary>
/// Section Identifier
/// </summary>
public global::System.String SectionId { get; }
/// <summary>
/// Section order
/// </summary>
public global::System.Int32 Order { get; }
/// <summary>
/// Section Name
/// </summary>
public global::System.String Name { get; }
/// <summary>
/// Achievements in the section
/// </summary>
public global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountMedals_Sections_Medals>? Medals { get; }
}
}
@@ -0,0 +1,132 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
/// <summary>
/// Represents game's statistics
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface IStatistics
{
/// <summary>
/// Last battle time
/// </summary>
public global::System.DateTimeOffset LastBattleTime { get; }
/// <summary>
/// Battles count
/// </summary>
public global::System.Int64 Battles { get; }
/// <summary>
/// Capture points
/// </summary>
public global::System.Int64 CapturePoints { get; }
/// <summary>
/// Total damage amount
/// </summary>
public global::System.Int64 DamageDealt { get; }
/// <summary>
/// Total amount of received damage
/// </summary>
public global::System.Int64 DamageReceived { get; }
/// <summary>
/// Dropped capture points
/// </summary>
public global::System.Int64 DroppedCapturePoints { get; }
/// <summary>
/// Total amount of frags
/// </summary>
public global::System.Int64 Frags { get; }
/// <summary>
/// Total amount of frags grater ten 8 lvl
/// </summary>
public global::System.Int64 Frags8P { get; }
/// <summary>
/// Total amount of hits
/// </summary>
public global::System.Int64 Hits { get; }
/// <summary>
/// Total amount of losses
/// </summary>
public global::System.Int64 Losses { get; }
/// <summary>
/// Max frags per battle
/// </summary>
public global::System.Int64 MaxFrags { get; }
/// <summary>
/// Max experience per battle
/// </summary>
public global::System.Int64 MaxXp { get; }
/// <summary>
/// Total shots count
/// </summary>
public global::System.Int64 Shots { get; }
/// <summary>
/// Total count of spotted vehicles
/// </summary>
public global::System.Int64 Spotted { get; }
/// <summary>
/// Total count of survived battles
/// </summary>
public global::System.Int64 SurvivedBattles { get; }
/// <summary>
/// Total count of survived and won battles
/// </summary>
public global::System.Int64 WinAndSurvived { get; }
/// <summary>
/// Total wins count
/// </summary>
public global::System.Int64 Wins { get; }
/// <summary>
/// Total amount of experience
/// </summary>
public global::System.Int64 Xp { get; }
/// <summary>
/// Wn7 coefficient
/// </summary>
public global::System.Double Wn7 { get; }
/// <summary>
/// Player's win rate
/// </summary>
public global::System.Decimal WinRate { get; }
/// <summary>
/// Player's average damage
/// </summary>
public global::System.Decimal AvgDamage { get; }
/// <summary>
/// Player's average XP
/// </summary>
public global::System.Decimal AvgXp { get; }
/// <summary>
/// Damage coefficient
/// </summary>
public global::System.Decimal DamageCoefficient { get; }
/// <summary>
/// Rate of survival
/// </summary>
public global::System.Decimal SurvivalRate { get; }
}
}
@@ -0,0 +1,77 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl
{
/// <summary>
/// Information about player's tank
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public interface ITank : IStatistics
{
/// <summary>
/// Tank identifier
/// </summary>
public global::System.Int64 TankId { get; }
/// <summary>
/// Total time in battle until tank killed
/// </summary>
public global::System.Int32 BattleLifeTimeInSeconds { get; }
/// <summary>
/// Mark of Mastery
/// </summary>
public global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery MarkOfMastery { get; }
/// <summary>
/// Average life time in battle until tank is killed.
/// </summary>
public global::System.Decimal AvgBattleLifeTimeInMinutes { get; }
/// <summary>
/// Tank name
/// </summary>
public global::System.String? Name { get; }
/// <summary>
/// Tank nation dictionary identifier
/// </summary>
public global::System.String? TankNationId { get; }
/// <summary>
/// Localized tank nation name
/// </summary>
public global::System.String? TankNation { get; }
/// <summary>
/// Tank tier
/// </summary>
public global::System.Int32 Tier { get; }
/// <summary>
/// Tank type dictionary identifier
/// </summary>
public global::System.String? TankTypeId { get; }
/// <summary>
/// Localized tank type name
/// </summary>
public global::System.String? TankType { get; }
/// <summary>
/// Is it premium tank or not
/// </summary>
public global::System.Boolean IsPremium { get; }
/// <summary>
/// Vehicle preview image
/// </summary>
public global::System.String? PreviewImage { get; }
/// <summary>
/// Vehicle normal image
/// </summary>
public global::System.String? NormalImage { get; }
}
}
@@ -9,124 +9,125 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query Player($accountId: Long!, $realmType: RealmType!, $requestLanguage: RequestLanguage!) { /// query Player($accountId: Long!, $realmType: RealmType!, $requestLanguage: RequestLanguage!) {
/// accountInfo(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) { /// accountInfo(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) {
/// __typename /// __typename
/// accountId /// ... account
/// createdAt
/// lastBattleTime
/// nickname
/// maxFragsTankId
/// maxXpTankId
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// avgTier
/// clanInfo {
/// __typename
/// clanId
/// joinedAt
/// role
/// roleLocalized
/// name
/// createdAt
/// creatorId
/// creatorName
/// description
/// descriptionHtml
/// leaderId
/// leaderName
/// membersCount
/// motto
/// tag
/// updatedAt
/// }
/// tanks {
/// __typename
/// tankId
/// battleLifeTimeInSeconds
/// lastBattleTime
/// markOfMastery
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// avgBattleLifeTimeInMinutes
/// name
/// tankNationId
/// tankNation
/// tier
/// tankTypeId
/// tankType
/// isPremium
/// previewImage
/// normalImage
/// }
/// } /// }
/// accountMedals(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) { /// accountMedals(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) {
/// __typename /// __typename
/// accountId /// accountId
/// sections { /// sections {
/// __typename /// __typename
/// sectionId /// ... section
/// order
/// name
/// medals {
/// __typename
/// id
/// name
/// medalType
/// condition
/// description
/// achievementValue
/// maxSeriesValue
/// image
/// imageBig
/// order
/// sectionId
/// ... on Achievement {
/// id
/// }
/// }
/// } /// }
/// } /// }
/// } /// }
///
/// fragment account on AccountInfoResponse {
/// accountId
/// createdAt
/// nickname
/// maxFragsTankId
/// maxXpTankId
/// avgTier
/// ... statistics
/// clanInfo {
/// __typename
/// ... clan
/// }
/// tanks {
/// __typename
/// ... tank
/// }
/// }
///
/// fragment statistics on Statistics {
/// lastBattleTime
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// }
///
/// fragment clan on ClanInfoResponse {
/// clanId
/// joinedAt
/// role
/// roleLocalized
/// name
/// createdAt
/// creatorId
/// creatorName
/// description
/// descriptionHtml
/// leaderId
/// leaderName
/// membersCount
/// motto
/// tag
/// updatedAt
/// }
///
/// fragment tank on TankInfoResponse {
/// tankId
/// battleLifeTimeInSeconds
/// markOfMastery
/// avgBattleLifeTimeInMinutes
/// name
/// tankNationId
/// tankNation
/// tier
/// tankTypeId
/// tankType
/// isPremium
/// previewImage
/// normalImage
/// ... statistics
/// }
///
/// fragment section on AchievementSection {
/// sectionId
/// order
/// name
/// medals {
/// __typename
/// ... medal
/// ... on Achievement {
/// id
/// }
/// }
/// }
///
/// fragment medal on Achievement {
/// id
/// name
/// medalType
/// condition
/// description
/// achievementValue
/// maxSeriesValue
/// image
/// imageBig
/// order
/// sectionId
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -9,124 +9,125 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// query Player($accountId: Long!, $realmType: RealmType!, $requestLanguage: RequestLanguage!) { /// query Player($accountId: Long!, $realmType: RealmType!, $requestLanguage: RequestLanguage!) {
/// accountInfo(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) { /// accountInfo(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) {
/// __typename /// __typename
/// accountId /// ... account
/// createdAt
/// lastBattleTime
/// nickname
/// maxFragsTankId
/// maxXpTankId
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// avgTier
/// clanInfo {
/// __typename
/// clanId
/// joinedAt
/// role
/// roleLocalized
/// name
/// createdAt
/// creatorId
/// creatorName
/// description
/// descriptionHtml
/// leaderId
/// leaderName
/// membersCount
/// motto
/// tag
/// updatedAt
/// }
/// tanks {
/// __typename
/// tankId
/// battleLifeTimeInSeconds
/// lastBattleTime
/// markOfMastery
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// avgBattleLifeTimeInMinutes
/// name
/// tankNationId
/// tankNation
/// tier
/// tankTypeId
/// tankType
/// isPremium
/// previewImage
/// normalImage
/// }
/// } /// }
/// accountMedals(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) { /// accountMedals(accountId: $accountId, realmType: $realmType, requestLanguage: $requestLanguage) {
/// __typename /// __typename
/// accountId /// accountId
/// sections { /// sections {
/// __typename /// __typename
/// sectionId /// ... section
/// order
/// name
/// medals {
/// __typename
/// id
/// name
/// medalType
/// condition
/// description
/// achievementValue
/// maxSeriesValue
/// image
/// imageBig
/// order
/// sectionId
/// ... on Achievement {
/// id
/// }
/// }
/// } /// }
/// } /// }
/// } /// }
///
/// fragment account on AccountInfoResponse {
/// accountId
/// createdAt
/// nickname
/// maxFragsTankId
/// maxXpTankId
/// avgTier
/// ... statistics
/// clanInfo {
/// __typename
/// ... clan
/// }
/// tanks {
/// __typename
/// ... tank
/// }
/// }
///
/// fragment statistics on Statistics {
/// lastBattleTime
/// battles
/// capturePoints
/// damageDealt
/// damageReceived
/// droppedCapturePoints
/// frags
/// frags8P
/// hits
/// losses
/// maxFrags
/// maxXp
/// shots
/// spotted
/// survivedBattles
/// winAndSurvived
/// wins
/// xp
/// wn7
/// winRate
/// avgDamage
/// avgXp
/// damageCoefficient
/// survivalRate
/// }
///
/// fragment clan on ClanInfoResponse {
/// clanId
/// joinedAt
/// role
/// roleLocalized
/// name
/// createdAt
/// creatorId
/// creatorName
/// description
/// descriptionHtml
/// leaderId
/// leaderName
/// membersCount
/// motto
/// tag
/// updatedAt
/// }
///
/// fragment tank on TankInfoResponse {
/// tankId
/// battleLifeTimeInSeconds
/// markOfMastery
/// avgBattleLifeTimeInMinutes
/// name
/// tankNationId
/// tankNation
/// tier
/// tankTypeId
/// tankType
/// isPremium
/// previewImage
/// normalImage
/// ... statistics
/// }
///
/// fragment section on AchievementSection {
/// sectionId
/// order
/// name
/// medals {
/// __typename
/// ... medal
/// ... on Achievement {
/// id
/// }
/// }
/// }
///
/// fragment medal on Achievement {
/// id
/// name
/// medalType
/// condition
/// description
/// achievementValue
/// maxSeriesValue
/// image
/// imageBig
/// order
/// sectionId
/// }
/// </code> /// </code>
/// </summary> /// </summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
@@ -138,8 +139,8 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
public static PlayerQueryDocument Instance { get; } = new PlayerQueryDocument(); public static PlayerQueryDocument Instance { get; } = new PlayerQueryDocument();
public global::StrawberryShake.OperationKind Kind => global::StrawberryShake.OperationKind.Query; public global::StrawberryShake.OperationKind Kind => global::StrawberryShake.OperationKind.Query;
public global::System.ReadOnlySpan<global::System.Byte> Body => new global::System.Byte[]{0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x28, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x4c, 0x6f, 0x6e, 0x67, 0x21, 0x2c, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x21, 0x2c, 0x20, 0x24, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x21, 0x29, 0x20, 0x7b, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x28, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x67, 0x73, 0x54, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x58, 0x70, 0x54, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x20, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x72, 0x61, 0x67, 0x73, 0x20, 0x66, 0x72, 0x61, 0x67, 0x73, 0x38, 0x50, 0x20, 0x68, 0x69, 0x74, 0x73, 0x20, 0x6c, 0x6f, 0x73, 0x73, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x67, 0x73, 0x20, 0x6d, 0x61, 0x78, 0x58, 0x70, 0x20, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x20, 0x73, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x20, 0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x64, 0x20, 0x77, 0x69, 0x6e, 0x73, 0x20, 0x78, 0x70, 0x20, 0x77, 0x6e, 0x37, 0x20, 0x77, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x20, 0x61, 0x76, 0x67, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x61, 0x76, 0x67, 0x58, 0x70, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x20, 0x61, 0x76, 0x67, 0x54, 0x69, 0x65, 0x72, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x74, 0x6d, 0x6c, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6d, 0x6f, 0x74, 0x74, 0x6f, 0x20, 0x74, 0x61, 0x67, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x20, 0x7d, 0x20, 0x74, 0x61, 0x6e, 0x6b, 0x73, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x20, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x4f, 0x66, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x79, 0x20, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x43, 0x61, 0x70,Line truncated public global::System.ReadOnlySpan<global::System.Byte> Body => new global::System.Byte[]{0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x28, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x4c, 0x6f, 0x6e, 0x67, 0x21, 0x2c, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x21, 0x2c, 0x20, 0x24, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x21, 0x29, 0x20, 0x7b, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x28, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x7d, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x73, 0x28, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x20, 0x24, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x24, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x20, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7d, 0x20, 0x7d, 0x20, 0x7d, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x7b, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x20, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x67, 0x73, 0x54, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x20, 0x6d, 0x61, 0x78, 0x58, 0x70, 0x54, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x20, 0x61, 0x76, 0x67, 0x54, 0x69, 0x65, 0x72, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x63, 0x6c, 0x61, 0x6e, 0x20, 0x7d, 0x20, 0x74, 0x61, 0x6e, 0x6b, 0x73, 0x20, 0x7b, 0x20, 0x5f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x74, 0x61, 0x6e, 0x6b, 0x20, 0x7d, 0x20, 0x7d, 0x20, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x20, 0x7b, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x74, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x72, 0x61, 0x67, 0x73, 0x20, 0x66, 0x72, 0x61, 0x67, 0x73, 0x38, 0x50, 0x20, 0x68, 0x69, 0x74, 0x73, 0x20, 0x6c, 0x6f, 0x73, 0x73, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x67, 0x73, 0x20, 0x6d, 0x61, 0x78, 0x58, 0x70, 0x20, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x20, 0x73, 0x70, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x20, 0x73, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6e, 0x41, 0x6e, 0x64, 0x53, 0x75, 0x72, 0x76, 0x69, 0x76, 0x65, 0x64, 0x20, 0x77, 0x69, 0x6e, 0x73, 0x20, 0x78, 0x70, 0x20, 0x77, 0x6e, 0x37, 0x20, 0x77, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x20, 0x61, 0x76, 0x67, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x61, 0x76, 0x67, 0x58, 0x70, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e,Line truncated
public global::StrawberryShake.DocumentHash Hash { get; } = new global::StrawberryShake.DocumentHash("md5Hash", "032972243d83d3556ee9d9b34cd35f25"); public global::StrawberryShake.DocumentHash Hash { get; } = new global::StrawberryShake.DocumentHash("md5Hash", "9186750720641b65c53e1048cf9b28ea");
public override global::System.String ToString() public override global::System.String ToString()
{ {
#if NETSTANDARD2_0 #if NETSTANDARD2_0
@@ -9,14 +9,15 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public partial class Player_AccountInfo_AccountInfoResponse : global::System.IEquatable<Player_AccountInfo_AccountInfoResponse>, IPlayer_AccountInfo_AccountInfoResponse public partial class Player_AccountInfo_AccountInfoResponse : global::System.IEquatable<Player_AccountInfo_AccountInfoResponse>, IPlayer_AccountInfo_AccountInfoResponse
{ {
public Player_AccountInfo_AccountInfoResponse(global::System.Int64 accountId, global::System.DateTimeOffset createdAt, global::System.DateTimeOffset lastBattleTime, global::System.String? nickname, global::System.Int64 maxFragsTankId, global::System.Int64 maxXpTankId, global::System.Int64 battles, global::System.Int64 capturePoints, global::System.Int64 damageDealt, global::System.Int64 damageReceived, global::System.Int64 droppedCapturePoints, global::System.Int64 frags, global::System.Int64 frags8P, global::System.Int64 hits, global::System.Int64 losses, global::System.Int64 maxFrags, global::System.Int64 maxXp, global::System.Int64 shots, global::System.Int64 spotted, global::System.Int64 survivedBattles, global::System.Int64 winAndSurvived, global::System.Int64 wins, global::System.Int64 xp, global::System.Double wn7, global::System.Decimal winRate, global::System.Decimal avgDamage, global::System.Decimal avgXp, global::System.Decimal damageCoefficient, global::System.Decimal survivalRate, global::System.Double avgTier, global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_ClanInfo? clanInfo, global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks>? tanks) public Player_AccountInfo_AccountInfoResponse(global::System.Int64 accountId, global::System.DateTimeOffset createdAt, global::System.String? nickname, global::System.Int64 maxFragsTankId, global::System.Int64 maxXpTankId, global::System.Double avgTier, global::System.DateTimeOffset lastBattleTime, global::System.Int64 battles, global::System.Int64 capturePoints, global::System.Int64 damageDealt, global::System.Int64 damageReceived, global::System.Int64 droppedCapturePoints, global::System.Int64 frags, global::System.Int64 frags8P, global::System.Int64 hits, global::System.Int64 losses, global::System.Int64 maxFrags, global::System.Int64 maxXp, global::System.Int64 shots, global::System.Int64 spotted, global::System.Int64 survivedBattles, global::System.Int64 winAndSurvived, global::System.Int64 wins, global::System.Int64 xp, global::System.Double wn7, global::System.Decimal winRate, global::System.Decimal avgDamage, global::System.Decimal avgXp, global::System.Decimal damageCoefficient, global::System.Decimal survivalRate, global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_ClanInfo? clanInfo, global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks>? tanks)
{ {
AccountId = accountId; AccountId = accountId;
CreatedAt = createdAt; CreatedAt = createdAt;
LastBattleTime = lastBattleTime;
Nickname = nickname; Nickname = nickname;
MaxFragsTankId = maxFragsTankId; MaxFragsTankId = maxFragsTankId;
MaxXpTankId = maxXpTankId; MaxXpTankId = maxXpTankId;
AvgTier = avgTier;
LastBattleTime = lastBattleTime;
Battles = battles; Battles = battles;
CapturePoints = capturePoints; CapturePoints = capturePoints;
DamageDealt = damageDealt; DamageDealt = damageDealt;
@@ -40,7 +41,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
AvgXp = avgXp; AvgXp = avgXp;
DamageCoefficient = damageCoefficient; DamageCoefficient = damageCoefficient;
SurvivalRate = survivalRate; SurvivalRate = survivalRate;
AvgTier = avgTier;
ClanInfo = clanInfo; ClanInfo = clanInfo;
Tanks = tanks; Tanks = tanks;
} }
@@ -55,11 +55,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// </summary> /// </summary>
public global::System.DateTimeOffset CreatedAt { get; } public global::System.DateTimeOffset CreatedAt { get; }
/// <summary>
/// Last battle time
/// </summary>
public global::System.DateTimeOffset LastBattleTime { get; }
/// <summary> /// <summary>
/// Player's nick /// Player's nick
/// </summary> /// </summary>
@@ -75,6 +70,16 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// </summary> /// </summary>
public global::System.Int64 MaxXpTankId { get; } public global::System.Int64 MaxXpTankId { get; }
/// <summary>
/// Average tier
/// </summary>
public global::System.Double AvgTier { get; }
/// <summary>
/// Last battle time
/// </summary>
public global::System.DateTimeOffset LastBattleTime { get; }
/// <summary> /// <summary>
/// Battles count /// Battles count
/// </summary> /// </summary>
@@ -146,7 +151,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
public global::System.Int64 SurvivedBattles { get; } public global::System.Int64 SurvivedBattles { get; }
/// <summary> /// <summary>
/// Total count of survived and winned battles /// Total count of survived and won battles
/// </summary> /// </summary>
public global::System.Int64 WinAndSurvived { get; } public global::System.Int64 WinAndSurvived { get; }
@@ -190,11 +195,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// </summary> /// </summary>
public global::System.Decimal SurvivalRate { get; } public global::System.Decimal SurvivalRate { get; }
/// <summary>
/// Average tier
/// </summary>
public global::System.Double AvgTier { get; }
/// <summary> /// <summary>
/// Clan info /// Clan info
/// </summary> /// </summary>
@@ -222,7 +222,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
return false; return false;
} }
return (AccountId == other.AccountId) && CreatedAt.Equals(other.CreatedAt) && LastBattleTime.Equals(other.LastBattleTime) && ((Nickname is null && other.Nickname is null) || Nickname != null && Nickname.Equals(other.Nickname)) && MaxFragsTankId == other.MaxFragsTankId && MaxXpTankId == other.MaxXpTankId && Battles == other.Battles && CapturePoints == other.CapturePoints && DamageDealt == other.DamageDealt && DamageReceived == other.DamageReceived && DroppedCapturePoints == other.DroppedCapturePoints && Frags == other.Frags && Frags8P == other.Frags8P && Hits == other.Hits && Losses == other.Losses && MaxFrags == other.MaxFrags && MaxXp == other.MaxXp && Shots == other.Shots && Spotted == other.Spotted && SurvivedBattles == other.SurvivedBattles && WinAndSurvived == other.WinAndSurvived && Wins == other.Wins && Xp == other.Xp && Wn7 == other.Wn7 && WinRate == other.WinRate && AvgDamage == other.AvgDamage && AvgXp == other.AvgXp && DamageCoefficient == other.DamageCoefficient && SurvivalRate == other.SurvivalRate && AvgTier == other.AvgTier && ((ClanInfo is null && other.ClanInfo is null) || ClanInfo != null && ClanInfo.Equals(other.ClanInfo)) && global::StrawberryShake.Helper.ComparisonHelper.SequenceEqual(Tanks, other.Tanks); return (AccountId == other.AccountId) && CreatedAt.Equals(other.CreatedAt) && ((Nickname is null && other.Nickname is null) || Nickname != null && Nickname.Equals(other.Nickname)) && MaxFragsTankId == other.MaxFragsTankId && MaxXpTankId == other.MaxXpTankId && AvgTier == other.AvgTier && LastBattleTime.Equals(other.LastBattleTime) && Battles == other.Battles && CapturePoints == other.CapturePoints && DamageDealt == other.DamageDealt && DamageReceived == other.DamageReceived && DroppedCapturePoints == other.DroppedCapturePoints && Frags == other.Frags && Frags8P == other.Frags8P && Hits == other.Hits && Losses == other.Losses && MaxFrags == other.MaxFrags && MaxXp == other.MaxXp && Shots == other.Shots && Spotted == other.Spotted && SurvivedBattles == other.SurvivedBattles && WinAndSurvived == other.WinAndSurvived && Wins == other.Wins && Xp == other.Xp && Wn7 == other.Wn7 && WinRate == other.WinRate && AvgDamage == other.AvgDamage && AvgXp == other.AvgXp && DamageCoefficient == other.DamageCoefficient && SurvivalRate == other.SurvivalRate && ((ClanInfo is null && other.ClanInfo is null) || ClanInfo != null && ClanInfo.Equals(other.ClanInfo)) && global::StrawberryShake.Helper.ComparisonHelper.SequenceEqual(Tanks, other.Tanks);
} }
public override global::System.Boolean Equals(global::System.Object? obj) public override global::System.Boolean Equals(global::System.Object? obj)
@@ -252,7 +252,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
int hash = 5; int hash = 5;
hash ^= 397 * AccountId.GetHashCode(); hash ^= 397 * AccountId.GetHashCode();
hash ^= 397 * CreatedAt.GetHashCode(); hash ^= 397 * CreatedAt.GetHashCode();
hash ^= 397 * LastBattleTime.GetHashCode();
if (Nickname != null) if (Nickname != null)
{ {
hash ^= 397 * Nickname.GetHashCode(); hash ^= 397 * Nickname.GetHashCode();
@@ -260,6 +259,8 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
hash ^= 397 * MaxFragsTankId.GetHashCode(); hash ^= 397 * MaxFragsTankId.GetHashCode();
hash ^= 397 * MaxXpTankId.GetHashCode(); hash ^= 397 * MaxXpTankId.GetHashCode();
hash ^= 397 * AvgTier.GetHashCode();
hash ^= 397 * LastBattleTime.GetHashCode();
hash ^= 397 * Battles.GetHashCode(); hash ^= 397 * Battles.GetHashCode();
hash ^= 397 * CapturePoints.GetHashCode(); hash ^= 397 * CapturePoints.GetHashCode();
hash ^= 397 * DamageDealt.GetHashCode(); hash ^= 397 * DamageDealt.GetHashCode();
@@ -283,7 +284,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
hash ^= 397 * AvgXp.GetHashCode(); hash ^= 397 * AvgXp.GetHashCode();
hash ^= 397 * DamageCoefficient.GetHashCode(); hash ^= 397 * DamageCoefficient.GetHashCode();
hash ^= 397 * SurvivalRate.GetHashCode(); hash ^= 397 * SurvivalRate.GetHashCode();
hash ^= 397 * AvgTier.GetHashCode();
if (ClanInfo != null) if (ClanInfo != null)
{ {
hash ^= 397 * ClanInfo.GetHashCode(); hash ^= 397 * ClanInfo.GetHashCode();
@@ -9,12 +9,22 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public partial class Player_AccountInfo_Tanks_TankInfoResponse : global::System.IEquatable<Player_AccountInfo_Tanks_TankInfoResponse>, IPlayer_AccountInfo_Tanks_TankInfoResponse public partial class Player_AccountInfo_Tanks_TankInfoResponse : global::System.IEquatable<Player_AccountInfo_Tanks_TankInfoResponse>, IPlayer_AccountInfo_Tanks_TankInfoResponse
{ {
public Player_AccountInfo_Tanks_TankInfoResponse(global::System.Int64 tankId, global::System.Int32 battleLifeTimeInSeconds, global::System.DateTimeOffset lastBattleTime, global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery markOfMastery, global::System.Int64 battles, global::System.Int64 capturePoints, global::System.Int64 damageDealt, global::System.Int64 damageReceived, global::System.Int64 droppedCapturePoints, global::System.Int64 frags, global::System.Int64 frags8P, global::System.Int64 hits, global::System.Int64 losses, global::System.Int64 maxFrags, global::System.Int64 maxXp, global::System.Int64 shots, global::System.Int64 spotted, global::System.Int64 survivedBattles, global::System.Int64 winAndSurvived, global::System.Int64 wins, global::System.Int64 xp, global::System.Double wn7, global::System.Decimal winRate, global::System.Decimal avgDamage, global::System.Decimal avgXp, global::System.Decimal damageCoefficient, global::System.Decimal survivalRate, global::System.Decimal avgBattleLifeTimeInMinutes, global::System.String? name, global::System.String? tankNationId, global::System.String? tankNation, global::System.Int32 tier, global::System.String? tankTypeId, global::System.String? tankType, global::System.Boolean isPremium, global::System.String? previewImage, global::System.String? normalImage) public Player_AccountInfo_Tanks_TankInfoResponse(global::System.Int64 tankId, global::System.Int32 battleLifeTimeInSeconds, global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery markOfMastery, global::System.Decimal avgBattleLifeTimeInMinutes, global::System.String? name, global::System.String? tankNationId, global::System.String? tankNation, global::System.Int32 tier, global::System.String? tankTypeId, global::System.String? tankType, global::System.Boolean isPremium, global::System.String? previewImage, global::System.String? normalImage, global::System.DateTimeOffset lastBattleTime, global::System.Int64 battles, global::System.Int64 capturePoints, global::System.Int64 damageDealt, global::System.Int64 damageReceived, global::System.Int64 droppedCapturePoints, global::System.Int64 frags, global::System.Int64 frags8P, global::System.Int64 hits, global::System.Int64 losses, global::System.Int64 maxFrags, global::System.Int64 maxXp, global::System.Int64 shots, global::System.Int64 spotted, global::System.Int64 survivedBattles, global::System.Int64 winAndSurvived, global::System.Int64 wins, global::System.Int64 xp, global::System.Double wn7, global::System.Decimal winRate, global::System.Decimal avgDamage, global::System.Decimal avgXp, global::System.Decimal damageCoefficient, global::System.Decimal survivalRate)
{ {
TankId = tankId; TankId = tankId;
BattleLifeTimeInSeconds = battleLifeTimeInSeconds; BattleLifeTimeInSeconds = battleLifeTimeInSeconds;
LastBattleTime = lastBattleTime;
MarkOfMastery = markOfMastery; MarkOfMastery = markOfMastery;
AvgBattleLifeTimeInMinutes = avgBattleLifeTimeInMinutes;
Name = name;
TankNationId = tankNationId;
TankNation = tankNation;
Tier = tier;
TankTypeId = tankTypeId;
TankType = tankType;
IsPremium = isPremium;
PreviewImage = previewImage;
NormalImage = normalImage;
LastBattleTime = lastBattleTime;
Battles = battles; Battles = battles;
CapturePoints = capturePoints; CapturePoints = capturePoints;
DamageDealt = damageDealt; DamageDealt = damageDealt;
@@ -38,16 +48,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
AvgXp = avgXp; AvgXp = avgXp;
DamageCoefficient = damageCoefficient; DamageCoefficient = damageCoefficient;
SurvivalRate = survivalRate; SurvivalRate = survivalRate;
AvgBattleLifeTimeInMinutes = avgBattleLifeTimeInMinutes;
Name = name;
TankNationId = tankNationId;
TankNation = tankNation;
Tier = tier;
TankTypeId = tankTypeId;
TankType = tankType;
IsPremium = isPremium;
PreviewImage = previewImage;
NormalImage = normalImage;
} }
/// <summary> /// <summary>
@@ -60,131 +60,11 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// </summary> /// </summary>
public global::System.Int32 BattleLifeTimeInSeconds { get; } public global::System.Int32 BattleLifeTimeInSeconds { get; }
/// <summary>
/// Last battle
/// </summary>
public global::System.DateTimeOffset LastBattleTime { get; }
/// <summary> /// <summary>
/// Mark of Mastery /// Mark of Mastery
/// </summary> /// </summary>
public global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery MarkOfMastery { get; } public global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery MarkOfMastery { get; }
/// <summary>
/// Battles count
/// </summary>
public global::System.Int64 Battles { get; }
/// <summary>
/// Base capture points
/// </summary>
public global::System.Int64 CapturePoints { get; }
/// <summary>
/// Damage dealt
/// </summary>
public global::System.Int64 DamageDealt { get; }
/// <summary>
/// Damage received
/// </summary>
public global::System.Int64 DamageReceived { get; }
/// <summary>
/// Base dropped capture points
/// </summary>
public global::System.Int64 DroppedCapturePoints { get; }
/// <summary>
/// Frags count
/// </summary>
public global::System.Int64 Frags { get; }
/// <summary>
/// Frags count after 8 tier
/// </summary>
public global::System.Int64 Frags8P { get; }
/// <summary>
/// Hits count
/// </summary>
public global::System.Int64 Hits { get; }
/// <summary>
/// Losses count
/// </summary>
public global::System.Int64 Losses { get; }
/// <summary>
/// Max frags per battle
/// </summary>
public global::System.Int64 MaxFrags { get; }
/// <summary>
/// Max XP per battle
/// </summary>
public global::System.Int64 MaxXp { get; }
/// <summary>
/// Shots count
/// </summary>
public global::System.Int64 Shots { get; }
/// <summary>
/// Spotted vehicles count
/// </summary>
public global::System.Int64 Spotted { get; }
/// <summary>
/// Amount of survived battles
/// </summary>
public global::System.Int64 SurvivedBattles { get; }
/// <summary>
/// Amount of survived and wined battles
/// </summary>
public global::System.Int64 WinAndSurvived { get; }
/// <summary>
/// Wins count
/// </summary>
public global::System.Int64 Wins { get; }
/// <summary>
/// Total experience
/// </summary>
public global::System.Int64 Xp { get; }
/// <summary>
/// Wn7 coefficient
/// </summary>
public global::System.Double Wn7 { get; }
/// <summary>
/// Tank's win rate
/// </summary>
public global::System.Decimal WinRate { get; }
/// <summary>
/// Average tank's damage
/// </summary>
public global::System.Decimal AvgDamage { get; }
/// <summary>
/// Average XP
/// </summary>
public global::System.Decimal AvgXp { get; }
/// <summary>
/// Damage coefficient
/// </summary>
public global::System.Decimal DamageCoefficient { get; }
/// <summary>
/// Rate of survival
/// </summary>
public global::System.Decimal SurvivalRate { get; }
/// <summary> /// <summary>
/// Average life time in battle until tank is killed. /// Average life time in battle until tank is killed.
/// </summary> /// </summary>
@@ -235,6 +115,126 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
/// </summary> /// </summary>
public global::System.String? NormalImage { get; } public global::System.String? NormalImage { get; }
/// <summary>
/// Last battle time
/// </summary>
public global::System.DateTimeOffset LastBattleTime { get; }
/// <summary>
/// Battles count
/// </summary>
public global::System.Int64 Battles { get; }
/// <summary>
/// Capture points
/// </summary>
public global::System.Int64 CapturePoints { get; }
/// <summary>
/// Total damage amount
/// </summary>
public global::System.Int64 DamageDealt { get; }
/// <summary>
/// Total amount of received damage
/// </summary>
public global::System.Int64 DamageReceived { get; }
/// <summary>
/// Dropped capture points
/// </summary>
public global::System.Int64 DroppedCapturePoints { get; }
/// <summary>
/// Total amount of frags
/// </summary>
public global::System.Int64 Frags { get; }
/// <summary>
/// Total amount of fras grater ten 8 lvl
/// </summary>
public global::System.Int64 Frags8P { get; }
/// <summary>
/// Total amount of hits
/// </summary>
public global::System.Int64 Hits { get; }
/// <summary>
/// Total amount of losses
/// </summary>
public global::System.Int64 Losses { get; }
/// <summary>
/// Max frags per battle
/// </summary>
public global::System.Int64 MaxFrags { get; }
/// <summary>
/// Max experience per battle
/// </summary>
public global::System.Int64 MaxXp { get; }
/// <summary>
/// Total shots count
/// </summary>
public global::System.Int64 Shots { get; }
/// <summary>
/// Total count of spotted vehicles
/// </summary>
public global::System.Int64 Spotted { get; }
/// <summary>
/// Total count of survived battles
/// </summary>
public global::System.Int64 SurvivedBattles { get; }
/// <summary>
/// Total count of survived and won battles
/// </summary>
public global::System.Int64 WinAndSurvived { get; }
/// <summary>
/// Total wins count
/// </summary>
public global::System.Int64 Wins { get; }
/// <summary>
/// Total amount of experience
/// </summary>
public global::System.Int64 Xp { get; }
/// <summary>
/// Wn7 coefficient
/// </summary>
public global::System.Double Wn7 { get; }
/// <summary>
/// Player's win rate
/// </summary>
public global::System.Decimal WinRate { get; }
/// <summary>
/// Player's average damage
/// </summary>
public global::System.Decimal AvgDamage { get; }
/// <summary>
/// Player's average XP
/// </summary>
public global::System.Decimal AvgXp { get; }
/// <summary>
/// Damage coefficient
/// </summary>
public global::System.Decimal DamageCoefficient { get; }
/// <summary>
/// Rate of survival
/// </summary>
public global::System.Decimal SurvivalRate { get; }
public virtual global::System.Boolean Equals(Player_AccountInfo_Tanks_TankInfoResponse? other) public virtual global::System.Boolean Equals(Player_AccountInfo_Tanks_TankInfoResponse? other)
{ {
if (ReferenceEquals(null, other)) if (ReferenceEquals(null, other))
@@ -252,7 +252,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
return false; return false;
} }
return (TankId == other.TankId) && BattleLifeTimeInSeconds == other.BattleLifeTimeInSeconds && LastBattleTime.Equals(other.LastBattleTime) && MarkOfMastery.Equals(other.MarkOfMastery) && Battles == other.Battles && CapturePoints == other.CapturePoints && DamageDealt == other.DamageDealt && DamageReceived == other.DamageReceived && DroppedCapturePoints == other.DroppedCapturePoints && Frags == other.Frags && Frags8P == other.Frags8P && Hits == other.Hits && Losses == other.Losses && MaxFrags == other.MaxFrags && MaxXp == other.MaxXp && Shots == other.Shots && Spotted == other.Spotted && SurvivedBattles == other.SurvivedBattles && WinAndSurvived == other.WinAndSurvived && Wins == other.Wins && Xp == other.Xp && Wn7 == other.Wn7 && WinRate == other.WinRate && AvgDamage == other.AvgDamage && AvgXp == other.AvgXp && DamageCoefficient == other.DamageCoefficient && SurvivalRate == other.SurvivalRate && AvgBattleLifeTimeInMinutes == other.AvgBattleLifeTimeInMinutes && ((Name is null && other.Name is null) || Name != null && Name.Equals(other.Name)) && ((TankNationId is null && other.TankNationId is null) || TankNationId != null && TankNationId.Equals(other.TankNationId)) && ((TankNation is null && other.TankNation is null) || TankNation != null && TankNation.Equals(other.TankNation)) && Tier == other.Tier && ((TankTypeId is null && other.TankTypeId is null) || TankTypeId != null && TankTypeId.Equals(other.TankTypeId)) && ((TankType is null && other.TankType is null) || TankType != null && TankType.Equals(other.TankType)) && IsPremium == other.IsPremium && ((PreviewImage is null && other.PreviewImage is null) || PreviewImage != null && PreviewImage.Equals(other.PreviewImage)) && ((NormalImage is null && other.NormalImage is null) || NormalImage != null && NormalImage.Equals(other.NormalImage)); return (TankId == other.TankId) && BattleLifeTimeInSeconds == other.BattleLifeTimeInSeconds && MarkOfMastery.Equals(other.MarkOfMastery) && AvgBattleLifeTimeInMinutes == other.AvgBattleLifeTimeInMinutes && ((Name is null && other.Name is null) || Name != null && Name.Equals(other.Name)) && ((TankNationId is null && other.TankNationId is null) || TankNationId != null && TankNationId.Equals(other.TankNationId)) && ((TankNation is null && other.TankNation is null) || TankNation != null && TankNation.Equals(other.TankNation)) && Tier == other.Tier && ((TankTypeId is null && other.TankTypeId is null) || TankTypeId != null && TankTypeId.Equals(other.TankTypeId)) && ((TankType is null && other.TankType is null) || TankType != null && TankType.Equals(other.TankType)) && IsPremium == other.IsPremium && ((PreviewImage is null && other.PreviewImage is null) || PreviewImage != null && PreviewImage.Equals(other.PreviewImage)) && ((NormalImage is null && other.NormalImage is null) || NormalImage != null && NormalImage.Equals(other.NormalImage)) && LastBattleTime.Equals(other.LastBattleTime) && Battles == other.Battles && CapturePoints == other.CapturePoints && DamageDealt == other.DamageDealt && DamageReceived == other.DamageReceived && DroppedCapturePoints == other.DroppedCapturePoints && Frags == other.Frags && Frags8P == other.Frags8P && Hits == other.Hits && Losses == other.Losses && MaxFrags == other.MaxFrags && MaxXp == other.MaxXp && Shots == other.Shots && Spotted == other.Spotted && SurvivedBattles == other.SurvivedBattles && WinAndSurvived == other.WinAndSurvived && Wins == other.Wins && Xp == other.Xp && Wn7 == other.Wn7 && WinRate == other.WinRate && AvgDamage == other.AvgDamage && AvgXp == other.AvgXp && DamageCoefficient == other.DamageCoefficient && SurvivalRate == other.SurvivalRate;
} }
public override global::System.Boolean Equals(global::System.Object? obj) public override global::System.Boolean Equals(global::System.Object? obj)
@@ -282,31 +282,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
int hash = 5; int hash = 5;
hash ^= 397 * TankId.GetHashCode(); hash ^= 397 * TankId.GetHashCode();
hash ^= 397 * BattleLifeTimeInSeconds.GetHashCode(); hash ^= 397 * BattleLifeTimeInSeconds.GetHashCode();
hash ^= 397 * LastBattleTime.GetHashCode();
hash ^= 397 * MarkOfMastery.GetHashCode(); hash ^= 397 * MarkOfMastery.GetHashCode();
hash ^= 397 * Battles.GetHashCode();
hash ^= 397 * CapturePoints.GetHashCode();
hash ^= 397 * DamageDealt.GetHashCode();
hash ^= 397 * DamageReceived.GetHashCode();
hash ^= 397 * DroppedCapturePoints.GetHashCode();
hash ^= 397 * Frags.GetHashCode();
hash ^= 397 * Frags8P.GetHashCode();
hash ^= 397 * Hits.GetHashCode();
hash ^= 397 * Losses.GetHashCode();
hash ^= 397 * MaxFrags.GetHashCode();
hash ^= 397 * MaxXp.GetHashCode();
hash ^= 397 * Shots.GetHashCode();
hash ^= 397 * Spotted.GetHashCode();
hash ^= 397 * SurvivedBattles.GetHashCode();
hash ^= 397 * WinAndSurvived.GetHashCode();
hash ^= 397 * Wins.GetHashCode();
hash ^= 397 * Xp.GetHashCode();
hash ^= 397 * Wn7.GetHashCode();
hash ^= 397 * WinRate.GetHashCode();
hash ^= 397 * AvgDamage.GetHashCode();
hash ^= 397 * AvgXp.GetHashCode();
hash ^= 397 * DamageCoefficient.GetHashCode();
hash ^= 397 * SurvivalRate.GetHashCode();
hash ^= 397 * AvgBattleLifeTimeInMinutes.GetHashCode(); hash ^= 397 * AvgBattleLifeTimeInMinutes.GetHashCode();
if (Name != null) if (Name != null)
{ {
@@ -345,6 +321,30 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl
hash ^= 397 * NormalImage.GetHashCode(); hash ^= 397 * NormalImage.GetHashCode();
} }
hash ^= 397 * LastBattleTime.GetHashCode();
hash ^= 397 * Battles.GetHashCode();
hash ^= 397 * CapturePoints.GetHashCode();
hash ^= 397 * DamageDealt.GetHashCode();
hash ^= 397 * DamageReceived.GetHashCode();
hash ^= 397 * DroppedCapturePoints.GetHashCode();
hash ^= 397 * Frags.GetHashCode();
hash ^= 397 * Frags8P.GetHashCode();
hash ^= 397 * Hits.GetHashCode();
hash ^= 397 * Losses.GetHashCode();
hash ^= 397 * MaxFrags.GetHashCode();
hash ^= 397 * MaxXp.GetHashCode();
hash ^= 397 * Shots.GetHashCode();
hash ^= 397 * Spotted.GetHashCode();
hash ^= 397 * SurvivedBattles.GetHashCode();
hash ^= 397 * WinAndSurvived.GetHashCode();
hash ^= 397 * Wins.GetHashCode();
hash ^= 397 * Xp.GetHashCode();
hash ^= 397 * Wn7.GetHashCode();
hash ^= 397 * WinRate.GetHashCode();
hash ^= 397 * AvgDamage.GetHashCode();
hash ^= 397 * AvgXp.GetHashCode();
hash ^= 397 * DamageCoefficient.GetHashCode();
hash ^= 397 * SurvivalRate.GetHashCode();
return hash; return hash;
} }
} }
@@ -5,17 +5,18 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
{ {
///<summary>Information about player</summary> ///<summary>Information about player</summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public partial class AccountInfoResponseData public partial class AccountInfoResponseData : IStatisticsData
{ {
public AccountInfoResponseData(global::System.String __typename, global::System.Int64? accountId = default !, global::System.DateTimeOffset? createdAt = default !, global::System.DateTimeOffset? lastBattleTime = default !, global::System.String? nickname = default !, global::System.Int64? maxFragsTankId = default !, global::System.Int64? maxXpTankId = default !, global::System.Int64? battles = default !, global::System.Int64? capturePoints = default !, global::System.Int64? damageDealt = default !, global::System.Int64? damageReceived = default !, global::System.Int64? droppedCapturePoints = default !, global::System.Int64? frags = default !, global::System.Int64? frags8P = default !, global::System.Int64? hits = default !, global::System.Int64? losses = default !, global::System.Int64? maxFrags = default !, global::System.Int64? maxXp = default !, global::System.Int64? shots = default !, global::System.Int64? spotted = default !, global::System.Int64? survivedBattles = default !, global::System.Int64? winAndSurvived = default !, global::System.Int64? wins = default !, global::System.Int64? xp = default !, global::System.Double? wn7 = default !, global::System.Decimal? winRate = default !, global::System.Decimal? avgDamage = default !, global::System.Decimal? avgXp = default !, global::System.Decimal? damageCoefficient = default !, global::System.Decimal? survivalRate = default !, global::System.Double? avgTier = default !, global::WotBlitzStatisticsPro.Blazor.GraphQl.State.ClanInfoResponseData? clanInfo = default !, global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData>? tanks = default !) public AccountInfoResponseData(global::System.String __typename, global::System.Int64? accountId = default !, global::System.DateTimeOffset? createdAt = default !, global::System.String? nickname = default !, global::System.Int64? maxFragsTankId = default !, global::System.Int64? maxXpTankId = default !, global::System.Double? avgTier = default !, global::System.DateTimeOffset? lastBattleTime = default !, global::System.Int64? battles = default !, global::System.Int64? capturePoints = default !, global::System.Int64? damageDealt = default !, global::System.Int64? damageReceived = default !, global::System.Int64? droppedCapturePoints = default !, global::System.Int64? frags = default !, global::System.Int64? frags8P = default !, global::System.Int64? hits = default !, global::System.Int64? losses = default !, global::System.Int64? maxFrags = default !, global::System.Int64? maxXp = default !, global::System.Int64? shots = default !, global::System.Int64? spotted = default !, global::System.Int64? survivedBattles = default !, global::System.Int64? winAndSurvived = default !, global::System.Int64? wins = default !, global::System.Int64? xp = default !, global::System.Double? wn7 = default !, global::System.Decimal? winRate = default !, global::System.Decimal? avgDamage = default !, global::System.Decimal? avgXp = default !, global::System.Decimal? damageCoefficient = default !, global::System.Decimal? survivalRate = default !, global::WotBlitzStatisticsPro.Blazor.GraphQl.State.ClanInfoResponseData? clanInfo = default !, global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData>? tanks = default !)
{ {
this.__typename = __typename ?? throw new global::System.ArgumentNullException(nameof(__typename)); this.__typename = __typename ?? throw new global::System.ArgumentNullException(nameof(__typename));
AccountId = accountId; AccountId = accountId;
CreatedAt = createdAt; CreatedAt = createdAt;
LastBattleTime = lastBattleTime;
Nickname = nickname; Nickname = nickname;
MaxFragsTankId = maxFragsTankId; MaxFragsTankId = maxFragsTankId;
MaxXpTankId = maxXpTankId; MaxXpTankId = maxXpTankId;
AvgTier = avgTier;
LastBattleTime = lastBattleTime;
Battles = battles; Battles = battles;
CapturePoints = capturePoints; CapturePoints = capturePoints;
DamageDealt = damageDealt; DamageDealt = damageDealt;
@@ -39,7 +40,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
AvgXp = avgXp; AvgXp = avgXp;
DamageCoefficient = damageCoefficient; DamageCoefficient = damageCoefficient;
SurvivalRate = survivalRate; SurvivalRate = survivalRate;
AvgTier = avgTier;
ClanInfo = clanInfo; ClanInfo = clanInfo;
Tanks = tanks; Tanks = tanks;
} }
@@ -52,9 +52,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
///<summary>Account creation date</summary> ///<summary>Account creation date</summary>
public global::System.DateTimeOffset? CreatedAt { get; } public global::System.DateTimeOffset? CreatedAt { get; }
///<summary>Last battle time</summary>
public global::System.DateTimeOffset? LastBattleTime { get; }
///<summary>Player's nick</summary> ///<summary>Player's nick</summary>
public global::System.String? Nickname { get; } public global::System.String? Nickname { get; }
@@ -64,6 +61,12 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
///<summary>Tank Id which created max experience per battle</summary> ///<summary>Tank Id which created max experience per battle</summary>
public global::System.Int64? MaxXpTankId { get; } public global::System.Int64? MaxXpTankId { get; }
///<summary>Average tier</summary>
public global::System.Double? AvgTier { get; }
///<summary>Last battle time</summary>
public global::System.DateTimeOffset? LastBattleTime { get; }
///<summary>Battles count</summary> ///<summary>Battles count</summary>
public global::System.Int64? Battles { get; } public global::System.Int64? Battles { get; }
@@ -106,7 +109,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
///<summary>Total count of survived battles</summary> ///<summary>Total count of survived battles</summary>
public global::System.Int64? SurvivedBattles { get; } public global::System.Int64? SurvivedBattles { get; }
///<summary>Total count of survived and winned battles</summary> ///<summary>Total count of survived and won battles</summary>
public global::System.Int64? WinAndSurvived { get; } public global::System.Int64? WinAndSurvived { get; }
///<summary>Total wins count</summary> ///<summary>Total wins count</summary>
@@ -133,13 +136,10 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
///<summary>Rate of survival</summary> ///<summary>Rate of survival</summary>
public global::System.Decimal? SurvivalRate { get; } public global::System.Decimal? SurvivalRate { get; }
///<summary>Average tier</summary>
public global::System.Double? AvgTier { get; }
///<summary>Clan info</summary> ///<summary>Clan info</summary>
public global::WotBlitzStatisticsPro.Blazor.GraphQl.State.ClanInfoResponseData? ClanInfo { get; } public global::WotBlitzStatisticsPro.Blazor.GraphQl.State.ClanInfoResponseData? ClanInfo { get; }
///<summary>All player's tanks</summary> ///<summary>All player's tanks</summary>
public global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData>? Tanks { get; } public global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData>? Tanks { get; }
} }
} }
@@ -0,0 +1,12 @@
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
{
///<summary>Information about player</summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public partial interface IStatisticsData
{
global::System.String __typename { get; }
}
}
@@ -84,7 +84,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
return (_resultDataFactory.Create(resultInfo), resultInfo); return (_resultDataFactory.Create(resultInfo), resultInfo);
} }
private global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData DeserializeNonNullableIPlayer_AccountInfo(global::System.Text.Json.JsonElement? obj) private global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData DeserializeNonNullableIPlayer_AccountInfo(global::System.Text.Json.JsonElement? obj)
{ {
if (!obj.HasValue) if (!obj.HasValue)
{ {
@@ -94,7 +94,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
var typename = obj.Value.GetProperty("__typename").GetString(); var typename = obj.Value.GetProperty("__typename").GetString();
if (typename?.Equals("AccountInfoResponse", global::System.StringComparison.Ordinal) ?? false) if (typename?.Equals("AccountInfoResponse", global::System.StringComparison.Ordinal) ?? false)
{ {
return new global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData(typename, accountId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "accountId")), createdAt: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "createdAt")), lastBattleTime: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "lastBattleTime")), nickname: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "nickname")), maxFragsTankId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxFragsTankId")), maxXpTankId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxXpTankId")), battles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "battles")), capturePoints: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "capturePoints")), damageDealt: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageDealt")), damageReceived: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageReceived")), droppedCapturePoints: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "droppedCapturePoints")), frags: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "frags")), frags8P: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "frags8P")), hits: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "hits")), losses: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "losses")), maxFrags: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxFrags")), maxXp: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxXp")), shots: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "shots")), spotted: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "spotted")), survivedBattles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivedBattles")), winAndSurvived: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winAndSurvived")), wins: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "wins")), xp: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "xp")), wn7: DeserializeNonNullableDouble(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "wn7")), winRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winRate")), avgDamage: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgDamage")), avgXp: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgXp")), damageCoefficient: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageCoefficient")), survivalRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivalRate")), avgTier: DeserializeNonNullableDouble(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgTier")), clanInfo: DeserializeIPlayer_AccountInfo_ClanInfo(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "clanInfo")), tanks: DeserializeIPlayer_AccountInfo_TanksNonNullableArray(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tanks"))); return new global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData(typename, accountId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "accountId")), createdAt: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "createdAt")), nickname: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "nickname")), maxFragsTankId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxFragsTankId")), maxXpTankId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxXpTankId")), avgTier: DeserializeNonNullableDouble(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgTier")), lastBattleTime: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "lastBattleTime")), battles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "battles")), capturePoints: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "capturePoints")), damageDealt: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageDealt")), damageReceived: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageReceived")), droppedCapturePoints: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "droppedCapturePoints")), frags: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "frags")), frags8P: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "frags8P")), hits: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "hits")), losses: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "losses")), maxFrags: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxFrags")), maxXp: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxXp")), shots: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "shots")), spotted: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "spotted")), survivedBattles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivedBattles")), winAndSurvived: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winAndSurvived")), wins: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "wins")), xp: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "xp")), wn7: DeserializeNonNullableDouble(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "wn7")), winRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winRate")), avgDamage: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgDamage")), avgXp: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgXp")), damageCoefficient: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageCoefficient")), survivalRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivalRate")), clanInfo: DeserializeIPlayer_AccountInfo_ClanInfo(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "clanInfo")), tanks: DeserializeIPlayer_AccountInfo_TanksNonNullableArray(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tanks")));
} }
throw new global::System.NotSupportedException(); throw new global::System.NotSupportedException();
@@ -196,14 +196,14 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
return _dateTimeParser.Parse(obj.Value.GetString()!); return _dateTimeParser.Parse(obj.Value.GetString()!);
} }
private global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData>? DeserializeIPlayer_AccountInfo_TanksNonNullableArray(global::System.Text.Json.JsonElement? obj) private global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData>? DeserializeIPlayer_AccountInfo_TanksNonNullableArray(global::System.Text.Json.JsonElement? obj)
{ {
if (!obj.HasValue) if (!obj.HasValue)
{ {
return null; return null;
} }
var tankInfoResponses = new global::System.Collections.Generic.List<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData>(); var tankInfoResponses = new global::System.Collections.Generic.List<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData>();
foreach (global::System.Text.Json.JsonElement child in obj.Value.EnumerateArray()) foreach (global::System.Text.Json.JsonElement child in obj.Value.EnumerateArray())
{ {
tankInfoResponses.Add(DeserializeNonNullableIPlayer_AccountInfo_Tanks(child)); tankInfoResponses.Add(DeserializeNonNullableIPlayer_AccountInfo_Tanks(child));
@@ -212,7 +212,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
return tankInfoResponses; return tankInfoResponses;
} }
private global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData DeserializeNonNullableIPlayer_AccountInfo_Tanks(global::System.Text.Json.JsonElement? obj) private global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData DeserializeNonNullableIPlayer_AccountInfo_Tanks(global::System.Text.Json.JsonElement? obj)
{ {
if (!obj.HasValue) if (!obj.HasValue)
{ {
@@ -222,7 +222,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
var typename = obj.Value.GetProperty("__typename").GetString(); var typename = obj.Value.GetProperty("__typename").GetString();
if (typename?.Equals("TankInfoResponse", global::System.StringComparison.Ordinal) ?? false) if (typename?.Equals("TankInfoResponse", global::System.StringComparison.Ordinal) ?? false)
{ {
return new global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData(typename, tankId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankId")), battleLifeTimeInSeconds: DeserializeNonNullableInt32(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "battleLifeTimeInSeconds")), lastBattleTime: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "lastBattleTime")), markOfMastery: DeserializeNonNullableMarkOfMastery(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "markOfMastery")), battles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "battles")), capturePoints: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "capturePoints")), damageDealt: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageDealt")), damageReceived: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageReceived")), droppedCapturePoints: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "droppedCapturePoints")), frags: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "frags")), frags8P: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "frags8P")), hits: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "hits")), losses: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "losses")), maxFrags: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxFrags")), maxXp: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxXp")), shots: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "shots")), spotted: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "spotted")), survivedBattles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivedBattles")), winAndSurvived: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winAndSurvived")), wins: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "wins")), xp: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "xp")), wn7: DeserializeNonNullableDouble(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "wn7")), winRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winRate")), avgDamage: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgDamage")), avgXp: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgXp")), damageCoefficient: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageCoefficient")), survivalRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivalRate")), avgBattleLifeTimeInMinutes: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgBattleLifeTimeInMinutes")), name: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), tankNationId: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankNationId")), tankNation: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankNation")), tier: DeserializeNonNullableInt32(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tier")), tankTypeId: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankTypeId")), tankType: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankType")), isPremium: DeserializeNonNullableBoolean(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "isPremium")), previewImage: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "previewImage")), normalImage: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "normalImage"))); return new global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData(typename, tankId: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankId")), battleLifeTimeInSeconds: DeserializeNonNullableInt32(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "battleLifeTimeInSeconds")), markOfMastery: DeserializeNonNullableMarkOfMastery(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "markOfMastery")), avgBattleLifeTimeInMinutes: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgBattleLifeTimeInMinutes")), name: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "name")), tankNationId: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankNationId")), tankNation: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankNation")), tier: DeserializeNonNullableInt32(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tier")), tankTypeId: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankTypeId")), tankType: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "tankType")), isPremium: DeserializeNonNullableBoolean(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "isPremium")), previewImage: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "previewImage")), normalImage: DeserializeString(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "normalImage")), lastBattleTime: DeserializeNonNullableDateTimeOffset(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "lastBattleTime")), battles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "battles")), capturePoints: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "capturePoints")), damageDealt: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageDealt")), damageReceived: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageReceived")), droppedCapturePoints: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "droppedCapturePoints")), frags: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "frags")), frags8P: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "frags8P")), hits: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "hits")), losses: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "losses")), maxFrags: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxFrags")), maxXp: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "maxXp")), shots: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "shots")), spotted: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "spotted")), survivedBattles: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivedBattles")), winAndSurvived: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winAndSurvived")), wins: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "wins")), xp: DeserializeNonNullableInt64(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "xp")), wn7: DeserializeNonNullableDouble(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "wn7")), winRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "winRate")), avgDamage: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgDamage")), avgXp: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "avgXp")), damageCoefficient: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "damageCoefficient")), survivalRate: DeserializeNonNullableDecimal(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "survivalRate")));
} }
throw new global::System.NotSupportedException(); throw new global::System.NotSupportedException();
@@ -30,12 +30,157 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
throw new global::System.ArgumentException("PlayerResultInfo expected."); throw new global::System.ArgumentException("PlayerResultInfo expected.");
} }
private global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo MapNonNullableIPlayer_AccountInfo(global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData data, global::StrawberryShake.IEntityStoreSnapshot snapshot) private global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo MapNonNullableIPlayer_AccountInfo(global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData data, global::StrawberryShake.IEntityStoreSnapshot snapshot)
{ {
IPlayer_AccountInfo returnValue = default !; IPlayer_AccountInfo? returnValue;
if (data.__typename.Equals("AccountInfoResponse", global::System.StringComparison.Ordinal)) if (data is global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData accountInfoResponse)
{ {
returnValue = new Player_AccountInfo_AccountInfoResponse(data.AccountId ?? throw new global::System.ArgumentNullException(), data.CreatedAt ?? throw new global::System.ArgumentNullException(), data.LastBattleTime ?? throw new global::System.ArgumentNullException(), data.Nickname, data.MaxFragsTankId ?? throw new global::System.ArgumentNullException(), data.MaxXpTankId ?? throw new global::System.ArgumentNullException(), data.Battles ?? throw new global::System.ArgumentNullException(), data.CapturePoints ?? throw new global::System.ArgumentNullException(), data.DamageDealt ?? throw new global::System.ArgumentNullException(), data.DamageReceived ?? throw new global::System.ArgumentNullException(), data.DroppedCapturePoints ?? throw new global::System.ArgumentNullException(), data.Frags ?? throw new global::System.ArgumentNullException(), data.Frags8P ?? throw new global::System.ArgumentNullException(), data.Hits ?? throw new global::System.ArgumentNullException(), data.Losses ?? throw new global::System.ArgumentNullException(), data.MaxFrags ?? throw new global::System.ArgumentNullException(), data.MaxXp ?? throw new global::System.ArgumentNullException(), data.Shots ?? throw new global::System.ArgumentNullException(), data.Spotted ?? throw new global::System.ArgumentNullException(), data.SurvivedBattles ?? throw new global::System.ArgumentNullException(), data.WinAndSurvived ?? throw new global::System.ArgumentNullException(), data.Wins ?? throw new global::System.ArgumentNullException(), data.Xp ?? throw new global::System.ArgumentNullException(), data.Wn7 ?? throw new global::System.ArgumentNullException(), data.WinRate ?? throw new global::System.ArgumentNullException(), data.AvgDamage ?? throw new global::System.ArgumentNullException(), data.AvgXp ?? throw new global::System.ArgumentNullException(), data.DamageCoefficient ?? throw new global::System.ArgumentNullException(), data.SurvivalRate ?? throw new global::System.ArgumentNullException(), data.AvgTier ?? throw new global::System.ArgumentNullException(), MapIPlayer_AccountInfo_ClanInfo(data.ClanInfo, snapshot), MapIPlayer_AccountInfo_TanksNonNullableArray(data.Tanks, snapshot)); if (!accountInfoResponse.AccountId.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.CreatedAt.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.MaxFragsTankId.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.MaxXpTankId.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.AvgTier.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.LastBattleTime.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Battles.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.CapturePoints.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.DamageDealt.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.DamageReceived.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.DroppedCapturePoints.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Frags.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Frags8P.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Hits.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Losses.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.MaxFrags.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.MaxXp.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Shots.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Spotted.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.SurvivedBattles.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.WinAndSurvived.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Wins.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Xp.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.Wn7.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.WinRate.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.AvgDamage.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.AvgXp.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.DamageCoefficient.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!accountInfoResponse.SurvivalRate.HasValue)
{
throw new global::System.ArgumentNullException();
}
returnValue = new global::WotBlitzStatisticsPro.Blazor.GraphQl.Player_AccountInfo_AccountInfoResponse(accountInfoResponse.AccountId!.Value, accountInfoResponse.CreatedAt!.Value, accountInfoResponse.Nickname, accountInfoResponse.MaxFragsTankId!.Value, accountInfoResponse.MaxXpTankId!.Value, accountInfoResponse.AvgTier!.Value, accountInfoResponse.LastBattleTime!.Value, accountInfoResponse.Battles!.Value, accountInfoResponse.CapturePoints!.Value, accountInfoResponse.DamageDealt!.Value, accountInfoResponse.DamageReceived!.Value, accountInfoResponse.DroppedCapturePoints!.Value, accountInfoResponse.Frags!.Value, accountInfoResponse.Frags8P!.Value, accountInfoResponse.Hits!.Value, accountInfoResponse.Losses!.Value, accountInfoResponse.MaxFrags!.Value, accountInfoResponse.MaxXp!.Value, accountInfoResponse.Shots!.Value, accountInfoResponse.Spotted!.Value, accountInfoResponse.SurvivedBattles!.Value, accountInfoResponse.WinAndSurvived!.Value, accountInfoResponse.Wins!.Value, accountInfoResponse.Xp!.Value, accountInfoResponse.Wn7!.Value, accountInfoResponse.WinRate!.Value, accountInfoResponse.AvgDamage!.Value, accountInfoResponse.AvgXp!.Value, accountInfoResponse.DamageCoefficient!.Value, accountInfoResponse.SurvivalRate!.Value, MapIPlayer_AccountInfo_ClanInfo(accountInfoResponse.ClanInfo, snapshot), MapIPlayer_AccountInfo_TanksNonNullableArray(accountInfoResponse.Tanks, snapshot));
} }
else else
{ {
@@ -65,7 +210,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
return returnValue; return returnValue;
} }
private global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks>? MapIPlayer_AccountInfo_TanksNonNullableArray(global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData>? list, global::StrawberryShake.IEntityStoreSnapshot snapshot) private global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks>? MapIPlayer_AccountInfo_TanksNonNullableArray(global::System.Collections.Generic.IReadOnlyList<global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData>? list, global::StrawberryShake.IEntityStoreSnapshot snapshot)
{ {
if (list is null) if (list is null)
{ {
@@ -73,7 +218,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
} }
var tankInfoResponses = new global::System.Collections.Generic.List<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks>(); var tankInfoResponses = new global::System.Collections.Generic.List<global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks>();
foreach (global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData child in list) foreach (global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData child in list)
{ {
tankInfoResponses.Add(MapNonNullableIPlayer_AccountInfo_Tanks(child, snapshot)); tankInfoResponses.Add(MapNonNullableIPlayer_AccountInfo_Tanks(child, snapshot));
} }
@@ -81,12 +226,162 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
return tankInfoResponses; return tankInfoResponses;
} }
private global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks MapNonNullableIPlayer_AccountInfo_Tanks(global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData data, global::StrawberryShake.IEntityStoreSnapshot snapshot) private global::WotBlitzStatisticsPro.Blazor.GraphQl.IPlayer_AccountInfo_Tanks MapNonNullableIPlayer_AccountInfo_Tanks(global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData data, global::StrawberryShake.IEntityStoreSnapshot snapshot)
{ {
IPlayer_AccountInfo_Tanks returnValue = default !; IPlayer_AccountInfo_Tanks? returnValue;
if (data.__typename.Equals("TankInfoResponse", global::System.StringComparison.Ordinal)) if (data is global::WotBlitzStatisticsPro.Blazor.GraphQl.State.TankInfoResponseData tankInfoResponse)
{ {
returnValue = new Player_AccountInfo_Tanks_TankInfoResponse(data.TankId ?? throw new global::System.ArgumentNullException(), data.BattleLifeTimeInSeconds ?? throw new global::System.ArgumentNullException(), data.LastBattleTime ?? throw new global::System.ArgumentNullException(), data.MarkOfMastery ?? throw new global::System.ArgumentNullException(), data.Battles ?? throw new global::System.ArgumentNullException(), data.CapturePoints ?? throw new global::System.ArgumentNullException(), data.DamageDealt ?? throw new global::System.ArgumentNullException(), data.DamageReceived ?? throw new global::System.ArgumentNullException(), data.DroppedCapturePoints ?? throw new global::System.ArgumentNullException(), data.Frags ?? throw new global::System.ArgumentNullException(), data.Frags8P ?? throw new global::System.ArgumentNullException(), data.Hits ?? throw new global::System.ArgumentNullException(), data.Losses ?? throw new global::System.ArgumentNullException(), data.MaxFrags ?? throw new global::System.ArgumentNullException(), data.MaxXp ?? throw new global::System.ArgumentNullException(), data.Shots ?? throw new global::System.ArgumentNullException(), data.Spotted ?? throw new global::System.ArgumentNullException(), data.SurvivedBattles ?? throw new global::System.ArgumentNullException(), data.WinAndSurvived ?? throw new global::System.ArgumentNullException(), data.Wins ?? throw new global::System.ArgumentNullException(), data.Xp ?? throw new global::System.ArgumentNullException(), data.Wn7 ?? throw new global::System.ArgumentNullException(), data.WinRate ?? throw new global::System.ArgumentNullException(), data.AvgDamage ?? throw new global::System.ArgumentNullException(), data.AvgXp ?? throw new global::System.ArgumentNullException(), data.DamageCoefficient ?? throw new global::System.ArgumentNullException(), data.SurvivalRate ?? throw new global::System.ArgumentNullException(), data.AvgBattleLifeTimeInMinutes ?? throw new global::System.ArgumentNullException(), data.Name, data.TankNationId, data.TankNation, data.Tier ?? throw new global::System.ArgumentNullException(), data.TankTypeId, data.TankType, data.IsPremium ?? throw new global::System.ArgumentNullException(), data.PreviewImage, data.NormalImage); if (!tankInfoResponse.TankId.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.BattleLifeTimeInSeconds.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.MarkOfMastery.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.AvgBattleLifeTimeInMinutes.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Tier.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.IsPremium.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.LastBattleTime.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Battles.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.CapturePoints.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.DamageDealt.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.DamageReceived.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.DroppedCapturePoints.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Frags.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Frags8P.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Hits.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Losses.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.MaxFrags.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.MaxXp.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Shots.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Spotted.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.SurvivedBattles.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.WinAndSurvived.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Wins.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Xp.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.Wn7.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.WinRate.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.AvgDamage.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.AvgXp.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.DamageCoefficient.HasValue)
{
throw new global::System.ArgumentNullException();
}
if (!tankInfoResponse.SurvivalRate.HasValue)
{
throw new global::System.ArgumentNullException();
}
returnValue = new global::WotBlitzStatisticsPro.Blazor.GraphQl.Player_AccountInfo_Tanks_TankInfoResponse(tankInfoResponse.TankId!.Value, tankInfoResponse.BattleLifeTimeInSeconds!.Value, tankInfoResponse.MarkOfMastery!.Value, tankInfoResponse.AvgBattleLifeTimeInMinutes!.Value, tankInfoResponse.Name, tankInfoResponse.TankNationId, tankInfoResponse.TankNation, tankInfoResponse.Tier!.Value, tankInfoResponse.TankTypeId, tankInfoResponse.TankType, tankInfoResponse.IsPremium!.Value, tankInfoResponse.PreviewImage, tankInfoResponse.NormalImage, tankInfoResponse.LastBattleTime!.Value, tankInfoResponse.Battles!.Value, tankInfoResponse.CapturePoints!.Value, tankInfoResponse.DamageDealt!.Value, tankInfoResponse.DamageReceived!.Value, tankInfoResponse.DroppedCapturePoints!.Value, tankInfoResponse.Frags!.Value, tankInfoResponse.Frags8P!.Value, tankInfoResponse.Hits!.Value, tankInfoResponse.Losses!.Value, tankInfoResponse.MaxFrags!.Value, tankInfoResponse.MaxXp!.Value, tankInfoResponse.Shots!.Value, tankInfoResponse.Spotted!.Value, tankInfoResponse.SurvivedBattles!.Value, tankInfoResponse.WinAndSurvived!.Value, tankInfoResponse.Wins!.Value, tankInfoResponse.Xp!.Value, tankInfoResponse.Wn7!.Value, tankInfoResponse.WinRate!.Value, tankInfoResponse.AvgDamage!.Value, tankInfoResponse.AvgXp!.Value, tankInfoResponse.DamageCoefficient!.Value, tankInfoResponse.SurvivalRate!.Value);
} }
else else
{ {
@@ -8,7 +8,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
{ {
private readonly global::System.Collections.Generic.IReadOnlyCollection<global::StrawberryShake.EntityId> _entityIds; private readonly global::System.Collections.Generic.IReadOnlyCollection<global::StrawberryShake.EntityId> _entityIds;
private readonly global::System.UInt64 _version; private readonly global::System.UInt64 _version;
public PlayerResultInfo(global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData accountInfo, global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountAchievementsResponseData accountMedals, global::System.Collections.Generic.IReadOnlyCollection<global::StrawberryShake.EntityId> entityIds, global::System.UInt64 version) public PlayerResultInfo(global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData accountInfo, global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountAchievementsResponseData accountMedals, global::System.Collections.Generic.IReadOnlyCollection<global::StrawberryShake.EntityId> entityIds, global::System.UInt64 version)
{ {
AccountInfo = accountInfo; AccountInfo = accountInfo;
AccountMedals = accountMedals; AccountMedals = accountMedals;
@@ -19,7 +19,7 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
/// <summary> /// <summary>
/// Gathers all account information /// Gathers all account information
/// </summary> /// </summary>
public global::WotBlitzStatisticsPro.Blazor.GraphQl.State.AccountInfoResponseData AccountInfo { get; } public global::WotBlitzStatisticsPro.Blazor.GraphQl.State.IStatisticsData AccountInfo { get; }
/// <summary> /// <summary>
/// Returns information about player's achievements /// Returns information about player's achievements
@@ -5,15 +5,25 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
{ {
///<summary>Information about player's tank</summary> ///<summary>Information about player's tank</summary>
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")] [global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "11.2.2.0")]
public partial class TankInfoResponseData public partial class TankInfoResponseData : IStatisticsData
{ {
public TankInfoResponseData(global::System.String __typename, global::System.Int64? tankId = default !, global::System.Int32? battleLifeTimeInSeconds = default !, global::System.DateTimeOffset? lastBattleTime = default !, global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery? markOfMastery = default !, global::System.Int64? battles = default !, global::System.Int64? capturePoints = default !, global::System.Int64? damageDealt = default !, global::System.Int64? damageReceived = default !, global::System.Int64? droppedCapturePoints = default !, global::System.Int64? frags = default !, global::System.Int64? frags8P = default !, global::System.Int64? hits = default !, global::System.Int64? losses = default !, global::System.Int64? maxFrags = default !, global::System.Int64? maxXp = default !, global::System.Int64? shots = default !, global::System.Int64? spotted = default !, global::System.Int64? survivedBattles = default !, global::System.Int64? winAndSurvived = default !, global::System.Int64? wins = default !, global::System.Int64? xp = default !, global::System.Double? wn7 = default !, global::System.Decimal? winRate = default !, global::System.Decimal? avgDamage = default !, global::System.Decimal? avgXp = default !, global::System.Decimal? damageCoefficient = default !, global::System.Decimal? survivalRate = default !, global::System.Decimal? avgBattleLifeTimeInMinutes = default !, global::System.String? name = default !, global::System.String? tankNationId = default !, global::System.String? tankNation = default !, global::System.Int32? tier = default !, global::System.String? tankTypeId = default !, global::System.String? tankType = default !, global::System.Boolean? isPremium = default !, global::System.String? previewImage = default !, global::System.String? normalImage = default !) public TankInfoResponseData(global::System.String __typename, global::System.Int64? tankId = default !, global::System.Int32? battleLifeTimeInSeconds = default !, global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery? markOfMastery = default !, global::System.Decimal? avgBattleLifeTimeInMinutes = default !, global::System.String? name = default !, global::System.String? tankNationId = default !, global::System.String? tankNation = default !, global::System.Int32? tier = default !, global::System.String? tankTypeId = default !, global::System.String? tankType = default !, global::System.Boolean? isPremium = default !, global::System.String? previewImage = default !, global::System.String? normalImage = default !, global::System.DateTimeOffset? lastBattleTime = default !, global::System.Int64? battles = default !, global::System.Int64? capturePoints = default !, global::System.Int64? damageDealt = default !, global::System.Int64? damageReceived = default !, global::System.Int64? droppedCapturePoints = default !, global::System.Int64? frags = default !, global::System.Int64? frags8P = default !, global::System.Int64? hits = default !, global::System.Int64? losses = default !, global::System.Int64? maxFrags = default !, global::System.Int64? maxXp = default !, global::System.Int64? shots = default !, global::System.Int64? spotted = default !, global::System.Int64? survivedBattles = default !, global::System.Int64? winAndSurvived = default !, global::System.Int64? wins = default !, global::System.Int64? xp = default !, global::System.Double? wn7 = default !, global::System.Decimal? winRate = default !, global::System.Decimal? avgDamage = default !, global::System.Decimal? avgXp = default !, global::System.Decimal? damageCoefficient = default !, global::System.Decimal? survivalRate = default !)
{ {
this.__typename = __typename ?? throw new global::System.ArgumentNullException(nameof(__typename)); this.__typename = __typename ?? throw new global::System.ArgumentNullException(nameof(__typename));
TankId = tankId; TankId = tankId;
BattleLifeTimeInSeconds = battleLifeTimeInSeconds; BattleLifeTimeInSeconds = battleLifeTimeInSeconds;
LastBattleTime = lastBattleTime;
MarkOfMastery = markOfMastery; MarkOfMastery = markOfMastery;
AvgBattleLifeTimeInMinutes = avgBattleLifeTimeInMinutes;
Name = name;
TankNationId = tankNationId;
TankNation = tankNation;
Tier = tier;
TankTypeId = tankTypeId;
TankType = tankType;
IsPremium = isPremium;
PreviewImage = previewImage;
NormalImage = normalImage;
LastBattleTime = lastBattleTime;
Battles = battles; Battles = battles;
CapturePoints = capturePoints; CapturePoints = capturePoints;
DamageDealt = damageDealt; DamageDealt = damageDealt;
@@ -37,16 +47,6 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
AvgXp = avgXp; AvgXp = avgXp;
DamageCoefficient = damageCoefficient; DamageCoefficient = damageCoefficient;
SurvivalRate = survivalRate; SurvivalRate = survivalRate;
AvgBattleLifeTimeInMinutes = avgBattleLifeTimeInMinutes;
Name = name;
TankNationId = tankNationId;
TankNation = tankNation;
Tier = tier;
TankTypeId = tankTypeId;
TankType = tankType;
IsPremium = isPremium;
PreviewImage = previewImage;
NormalImage = normalImage;
} }
public global::System.String __typename { get; } public global::System.String __typename { get; }
@@ -57,81 +57,9 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
///<summary>Total time in battle until tank killed</summary> ///<summary>Total time in battle until tank killed</summary>
public global::System.Int32? BattleLifeTimeInSeconds { get; } public global::System.Int32? BattleLifeTimeInSeconds { get; }
///<summary>Last battle</summary>
public global::System.DateTimeOffset? LastBattleTime { get; }
///<summary>Mark of Mastery</summary> ///<summary>Mark of Mastery</summary>
public global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery? MarkOfMastery { get; } public global::WotBlitzStatisticsPro.Blazor.GraphQl.MarkOfMastery? MarkOfMastery { get; }
///<summary>Battles count</summary>
public global::System.Int64? Battles { get; }
///<summary>Base capture points</summary>
public global::System.Int64? CapturePoints { get; }
///<summary>Damage dealt</summary>
public global::System.Int64? DamageDealt { get; }
///<summary>Damage received</summary>
public global::System.Int64? DamageReceived { get; }
///<summary>Base dropped capture points</summary>
public global::System.Int64? DroppedCapturePoints { get; }
///<summary>Frags count</summary>
public global::System.Int64? Frags { get; }
///<summary>Frags count after 8 tier</summary>
public global::System.Int64? Frags8P { get; }
///<summary>Hits count</summary>
public global::System.Int64? Hits { get; }
///<summary>Losses count</summary>
public global::System.Int64? Losses { get; }
///<summary>Max frags per battle</summary>
public global::System.Int64? MaxFrags { get; }
///<summary>Max XP per battle</summary>
public global::System.Int64? MaxXp { get; }
///<summary>Shots count</summary>
public global::System.Int64? Shots { get; }
///<summary>Spotted vehicles count</summary>
public global::System.Int64? Spotted { get; }
///<summary>Amount of survived battles</summary>
public global::System.Int64? SurvivedBattles { get; }
///<summary>Amount of survived and wined battles</summary>
public global::System.Int64? WinAndSurvived { get; }
///<summary>Wins count</summary>
public global::System.Int64? Wins { get; }
///<summary>Total experience</summary>
public global::System.Int64? Xp { get; }
///<summary>Wn7 coefficient</summary>
public global::System.Double? Wn7 { get; }
///<summary>Tank's win rate</summary>
public global::System.Decimal? WinRate { get; }
///<summary>Average tank's damage</summary>
public global::System.Decimal? AvgDamage { get; }
///<summary>Average XP</summary>
public global::System.Decimal? AvgXp { get; }
///<summary>Damage coefficient</summary>
public global::System.Decimal? DamageCoefficient { get; }
///<summary>Rate of survival</summary>
public global::System.Decimal? SurvivalRate { get; }
///<summary>Average life time in battle until tank is killed.</summary> ///<summary>Average life time in battle until tank is killed.</summary>
public global::System.Decimal? AvgBattleLifeTimeInMinutes { get; } public global::System.Decimal? AvgBattleLifeTimeInMinutes { get; }
@@ -161,5 +89,77 @@ namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
///<summary>Vehicle normal image</summary> ///<summary>Vehicle normal image</summary>
public global::System.String? NormalImage { get; } public global::System.String? NormalImage { get; }
///<summary>Last battle time</summary>
public global::System.DateTimeOffset? LastBattleTime { get; }
///<summary>Battles count</summary>
public global::System.Int64? Battles { get; }
///<summary>Capture points</summary>
public global::System.Int64? CapturePoints { get; }
///<summary>Total damage amount</summary>
public global::System.Int64? DamageDealt { get; }
///<summary>Total amount of received damage</summary>
public global::System.Int64? DamageReceived { get; }
///<summary>Dropped capture points</summary>
public global::System.Int64? DroppedCapturePoints { get; }
///<summary>Total amount of frags</summary>
public global::System.Int64? Frags { get; }
///<summary>Total amount of fras grater ten 8 lvl</summary>
public global::System.Int64? Frags8P { get; }
///<summary>Total amount of hits</summary>
public global::System.Int64? Hits { get; }
///<summary>Total amount of losses</summary>
public global::System.Int64? Losses { get; }
///<summary>Max frags per battle</summary>
public global::System.Int64? MaxFrags { get; }
///<summary>Max experience per battle</summary>
public global::System.Int64? MaxXp { get; }
///<summary>Total shots count</summary>
public global::System.Int64? Shots { get; }
///<summary>Total count of spotted vehicles</summary>
public global::System.Int64? Spotted { get; }
///<summary>Total count of survived battles</summary>
public global::System.Int64? SurvivedBattles { get; }
///<summary>Total count of survived and won battles</summary>
public global::System.Int64? WinAndSurvived { get; }
///<summary>Total wins count</summary>
public global::System.Int64? Wins { get; }
///<summary>Total amount of experience</summary>
public global::System.Int64? Xp { get; }
///<summary>Wn7 coefficient</summary>
public global::System.Double? Wn7 { get; }
///<summary>Player's win rate</summary>
public global::System.Decimal? WinRate { get; }
///<summary>Player's average damage</summary>
public global::System.Decimal? AvgDamage { get; }
///<summary>Player's average XP</summary>
public global::System.Decimal? AvgXp { get; }
///<summary>Damage coefficient</summary>
public global::System.Decimal? DamageCoefficient { get; }
///<summary>Rate of survival</summary>
public global::System.Decimal? SurvivalRate { get; }
} }
} }
@@ -22,6 +22,6 @@
@code { @code {
[Parameter] [Parameter]
public IFindClans_Clans Clan { get; set; } public IClanShortInfo Clan { get; set; }
} }
@@ -22,7 +22,7 @@
@code { @code {
[Parameter] [Parameter]
public IFindPlayers_Players Player { get; set; } public IPlayerShortInfo Player { get; set; }
} }
@@ -19,9 +19,9 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
public RealmType CurrentRealmType { get; set; } = RealmType.Eu; public RealmType CurrentRealmType { get; set; } = RealmType.Eu;
public IPlayer_AccountInfo AccountInfo { get; set; } public IAccount AccountInfo { get; set; }
public IReadOnlyList<IPlayer_AccountMedals_Sections> AchievementsBySection { get; set; } public IReadOnlyList<ISection> AchievementsBySection { get; set; }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
@@ -2,5 +2,5 @@
@code { @code {
[Parameter] [Parameter]
public IPlayer_AccountInfo AccountInfo { get; set; } public IAccount AccountInfo { get; set; }
} }
@@ -27,7 +27,7 @@
Style="height: 330px; width: 100%; margin-top: 10px;" Style="height: 330px; width: 100%; margin-top: 10px;"
Visible="@(!ComponentBusy)"> Visible="@(!ComponentBusy)">
<Template> <Template>
<FindPlayerListItem Player="@((IFindPlayers_Players) context)"></FindPlayerListItem> <FindPlayerListItem Player="@((IPlayerShortInfo) context)"></FindPlayerListItem>
</Template> </Template>
</RadzenListBox> </RadzenListBox>
} }
@@ -39,7 +39,7 @@
Style="height: 330px; width: 100%; margin-top: 10px;" Style="height: 330px; width: 100%; margin-top: 10px;"
Visible="@(!ComponentBusy)"> Visible="@(!ComponentBusy)">
<Template> <Template>
<FindClanListItem Clan="((IFindClans_Clans)context)"></FindClanListItem> <FindClanListItem Clan="((IClanShortInfo)context)"></FindClanListItem>
</Template> </Template>
</RadzenListBox> </RadzenListBox>
} }
@@ -34,8 +34,8 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
public List<RealmSelector> Realms { get; set; } public List<RealmSelector> Realms { get; set; }
public List<IFindPlayers_Players> PlayersList { get; set; } = new(); public List<IPlayerShortInfo> PlayersList { get; set; } = new();
public List<IFindClans_Clans> ClansList { get; set; } = new(); public List<IClanShortInfo> ClansList { get; set; } = new();
public RealmType CurrentRealmType { get; set; } = RealmType.Eu; public RealmType CurrentRealmType { get; set; } = RealmType.Eu;
@@ -121,7 +121,7 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
await GraphQlBackendService.FindPlayers(searchString, CurrentRealmType); await GraphQlBackendService.FindPlayers(searchString, CurrentRealmType);
if (accounts != null) if (accounts != null)
{ {
PlayersList = new List<IFindPlayers_Players>(accounts); PlayersList = new List<IPlayerShortInfo>(accounts);
} }
} }
@@ -132,7 +132,7 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
await GraphQlBackendService.FindClans(searchString, CurrentRealmType); await GraphQlBackendService.FindClans(searchString, CurrentRealmType);
if (clans != null) if (clans != null)
{ {
ClansList = new List<IFindClans_Clans>(clans); ClansList = new List<IClanShortInfo>(clans);
} }
} }
} }
@@ -20,7 +20,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services
_notificationsService = notificationsService; _notificationsService = notificationsService;
} }
public async Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers(string accountNick, RealmType realmType) public async Task<IReadOnlyList<IPlayerShortInfo>?> FindPlayers(string accountNick, RealmType realmType)
{ {
var accounts = var accounts =
await _client.FindPlayers.ExecuteAsync(accountNick, realmType, GetLanguage()); await _client.FindPlayers.ExecuteAsync(accountNick, realmType, GetLanguage());
@@ -29,7 +29,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services
return accounts.Data?.Players; return accounts.Data?.Players;
} }
public async Task<IReadOnlyList<IFindClans_Clans>?> FindClans(string clanNameOrTag, RealmType realmType) public async Task<IReadOnlyList<IClanShortInfo>?> FindClans(string clanNameOrTag, RealmType realmType)
{ {
var clans = var clans =
await _client.FindClans.ExecuteAsync(clanNameOrTag, realmType, GetLanguage()); await _client.FindClans.ExecuteAsync(clanNameOrTag, realmType, GetLanguage());
@@ -38,7 +38,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services
return clans.Data?.Clans; return clans.Data?.Clans;
} }
public async Task<(IPlayer_AccountInfo accountInfo, IReadOnlyList<IPlayer_AccountMedals_Sections> achievementsBySection)> GetPlayerInfo(long accountId, RealmType realmType) public async Task<(IAccount accountInfo, IReadOnlyList<ISection> achievementsBySection)> GetPlayerInfo(long accountId, RealmType realmType)
{ {
var playerInfo = await _client.Player.ExecuteAsync(accountId, realmType, GetLanguage()); var playerInfo = await _client.Player.ExecuteAsync(accountId, realmType, GetLanguage());
CheckErrors(playerInfo.Errors); CheckErrors(playerInfo.Errors);
@@ -6,15 +6,15 @@ namespace WotBlitzStatisticsPro.Blazor.Services
{ {
public interface IGraphQlBackendService public interface IGraphQlBackendService
{ {
Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers( Task<IReadOnlyList<IPlayerShortInfo>?> FindPlayers(
string accountNick, string accountNick,
RealmType realmType); RealmType realmType);
Task<IReadOnlyList<IFindClans_Clans>?> FindClans( Task<IReadOnlyList<IClanShortInfo>?> FindClans(
string clanNameOrTag, string clanNameOrTag,
RealmType realmType); RealmType realmType);
Task<(IPlayer_AccountInfo accountInfo, IReadOnlyList<IPlayer_AccountMedals_Sections> achievementsBySection)> GetPlayerInfo( Task<(IAccount accountInfo, IReadOnlyList<ISection> achievementsBySection)> GetPlayerInfo(
long accountId, long accountId,
RealmType realmType); RealmType realmType);
} }
@@ -22,7 +22,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services.Mock
_needToWait = needToWait; _needToWait = needToWait;
} }
public async Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers(string accountNick, RealmType realmType) public async Task<IReadOnlyList<IPlayerShortInfo>?> FindPlayers(string accountNick, RealmType realmType)
{ {
var result = new List<IFindPlayers_Players>(); var result = new List<IFindPlayers_Players>();
@@ -48,7 +48,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services.Mock
return result; return result;
} }
public async Task<IReadOnlyList<IFindClans_Clans>?> FindClans(string clanNameOrTag, RealmType realmType) public async Task<IReadOnlyList<IClanShortInfo>?> FindClans(string clanNameOrTag, RealmType realmType)
{ {
var result = new List<IFindClans_Clans>(); var result = new List<IFindClans_Clans>();
@@ -74,7 +74,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services.Mock
return result; return result;
} }
public async Task<(IPlayer_AccountInfo accountInfo, IReadOnlyList<IPlayer_AccountMedals_Sections> achievementsBySection)> GetPlayerInfo(long accountId, RealmType realmType) public async Task<(IAccount accountInfo, IReadOnlyList<ISection> achievementsBySection)> GetPlayerInfo(long accountId, RealmType realmType)
{ {
var faker = new Faker(FakerLanguage(GetLanguage())); var faker = new Faker(FakerLanguage(GetLanguage()));
var tanksCount = faker.Random.Number(10, 280); var tanksCount = faker.Random.Number(10, 280);
@@ -113,8 +113,18 @@ namespace WotBlitzStatisticsPro.Blazor.Services.Mock
tanks.Add(new Player_AccountInfo_Tanks_TankInfoResponse( tanks.Add(new Player_AccountInfo_Tanks_TankInfoResponse(
faker.Random.Long(100000, 999999), faker.Random.Long(100000, 999999),
faker.Random.Number(500), faker.Random.Number(500),
faker.Date.Past(),
faker.PickRandom<MarkOfMastery>(), faker.PickRandom<MarkOfMastery>(),
faker.Random.Decimal(0M, 7M),
faker.Name.LastName(),
nation.nation,
nation.nationName,
faker.Random.Number(10),
vehicleType.vehicleType,
vehicleType.vehicleTypeName,
faker.Random.Bool(),
GetRandomPreviewImage(faker),
GetRandomLargeImage(faker),
faker.Date.Past(),
faker.Random.Long(1, 9999), faker.Random.Long(1, 9999),
faker.Random.Long(1, 9999), faker.Random.Long(1, 9999),
faker.Random.Long(1, 9999), faker.Random.Long(1, 9999),
@@ -137,17 +147,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services.Mock
faker.Random.Decimal(300M, 4000M), faker.Random.Decimal(300M, 4000M),
faker.Random.Decimal(100M, 2000M), faker.Random.Decimal(100M, 2000M),
faker.Random.Decimal(0M, 3M), faker.Random.Decimal(0M, 3M),
faker.Random.Decimal(5M, 95M), faker.Random.Decimal(5M, 95M)
faker.Random.Decimal(0M, 7M),
faker.Name.LastName(),
nation.nation,
nation.nationName,
faker.Random.Number(10),
vehicleType.vehicleType,
vehicleType.vehicleTypeName,
faker.Random.Bool(),
GetRandomPreviewImage(faker),
GetRandomLargeImage(faker)
)); ));
} }
@@ -159,10 +159,11 @@ namespace WotBlitzStatisticsPro.Blazor.Services.Mock
var player = new Player_AccountInfo_AccountInfoResponse( var player = new Player_AccountInfo_AccountInfoResponse(
accountId, accountId,
faker.Date.Past(), faker.Date.Past(),
faker.Date.Past(),
faker.Internet.UserName(), faker.Internet.UserName(),
tanks[faker.Random.Number(1, tanks.Count-1)].TankId, tanks[faker.Random.Number(1, tanks.Count - 1)].TankId,
tanks[faker.Random.Number(1, tanks.Count-1)].TankId, tanks[faker.Random.Number(1, tanks.Count - 1)].TankId,
faker.Random.Double(2D, 9D),
faker.Date.Past(),
faker.Random.Long(1, 100000), faker.Random.Long(1, 100000),
faker.Random.Long(1, 9999), faker.Random.Long(1, 9999),
faker.Random.Long(1, 9999), faker.Random.Long(1, 9999),
@@ -186,7 +187,6 @@ namespace WotBlitzStatisticsPro.Blazor.Services.Mock
faker.Random.Decimal(100M, 2000M), faker.Random.Decimal(100M, 2000M),
faker.Random.Decimal(0M, 3M), faker.Random.Decimal(0M, 3M),
faker.Random.Decimal(5M, 95M), faker.Random.Decimal(5M, 95M),
faker.Random.Double(2D, 9D),
clanInfo, clanInfo,
tanks tanks
); );
@@ -6,10 +6,14 @@ query findClans (
searchString: $searchString, searchString: $searchString,
realmType: $realmType, realmType: $realmType,
language: $language) { language: $language) {
clanId ... clanShortInfo
createdAt
membersCount
name
tag
} }
}
fragment clanShortInfo on ClanSearchResponseItem {
clanId
createdAt
membersCount
name
tag
} }
@@ -6,11 +6,15 @@
accountNick: $accountNick, accountNick: $accountNick,
realmType: $realmType, realmType: $realmType,
language: $language) { language: $language) {
accountId ... playerShortInfo
nickname
clanTag
lastBattle
battlesCount
winRate
} }
}
fragment playerShortInfo on AccountsSearchResponseItem {
accountId
nickname
clanTag
lastBattle
battlesCount
winRate
} }
@@ -1,122 +1,127 @@
query player( query player
(
$accountId: Long!, $accountId: Long!,
$realmType: RealmType!, $realmType: RealmType!,
$requestLanguage: RequestLanguage! ) { $requestLanguage: RequestLanguage!)
{
accountInfo( accountInfo(
accountId: $accountId, accountId: $accountId,
realmType: $realmType, realmType: $realmType,
requestLanguage: $requestLanguage) { requestLanguage: $requestLanguage) {
accountId ...account
createdAt
lastBattleTime
nickname
maxFragsTankId
maxXpTankId
battles
capturePoints
damageDealt
damageReceived
droppedCapturePoints
frags
frags8P
hits
losses
maxFrags
maxXp
shots
spotted
survivedBattles
winAndSurvived
wins
xp
wn7
winRate
avgDamage
avgXp
damageCoefficient
survivalRate
avgTier
clanInfo {
clanId
joinedAt
role
roleLocalized
name
createdAt
creatorId
creatorName
description
descriptionHtml
leaderId
leaderName
membersCount
motto
tag
updatedAt
}
tanks {
tankId
battleLifeTimeInSeconds
lastBattleTime
markOfMastery
battles
capturePoints
damageDealt
damageReceived
droppedCapturePoints
frags
frags8P
hits
losses
maxFrags
maxXp
shots
spotted
survivedBattles
winAndSurvived
wins
xp
wn7
winRate
avgDamage
avgXp
damageCoefficient
survivalRate
avgBattleLifeTimeInMinutes
name
tankNationId
tankNation
tier
tankTypeId
tankType
isPremium
previewImage
normalImage
}
} }
accountMedals( accountMedals(
accountId: $accountId, accountId: $accountId,
realmType: $realmType, realmType: $realmType,
requestLanguage: $requestLanguage requestLanguage: $requestLanguage
) { ) {
accountId accountId
sections { sections {
sectionId ... section
order }
name }
medals { }
id
name fragment statistics on Statistics {
medalType lastBattleTime
condition battles
description capturePoints
achievementValue damageDealt
maxSeriesValue damageReceived
image droppedCapturePoints
imageBig frags
order frags8P
sectionId hits
} losses
} maxFrags
maxXp
shots
spotted
survivedBattles
winAndSurvived
wins
xp
wn7
winRate
avgDamage
avgXp
damageCoefficient
survivalRate
}
fragment clan on ClanInfoResponse {
clanId
joinedAt
role
roleLocalized
name
createdAt
creatorId
creatorName
description
descriptionHtml
leaderId
leaderName
membersCount
motto
tag
updatedAt
}
fragment tank on TankInfoResponse {
tankId
battleLifeTimeInSeconds
markOfMastery
avgBattleLifeTimeInMinutes
name
tankNationId
tankNation
tier
tankTypeId
tankType
isPremium
previewImage
normalImage
... statistics
}
fragment account on AccountInfoResponse {
accountId
createdAt
nickname
maxFragsTankId
maxXpTankId
avgTier
... statistics
clanInfo {
...clan
}
tanks {
...tank
}
}
fragment medal on Achievement {
id
name
medalType
condition
description
achievementValue
maxSeriesValue
image
imageBig
order
sectionId
}
fragment section on AchievementSection {
sectionId
order
name
medals {
...medal
} }
} }
@@ -66,17 +66,27 @@ enum RequestLanguage {
} }
"Information about player" "Information about player"
type AccountInfoResponse { type AccountInfoResponse implements Statistics {
"Clan info" "Clan info"
clanInfo: ClanInfoResponse clanInfo: ClanInfoResponse
"Player account identifier" "Player account identifier"
accountId: Long! accountId: Long!
"Account creation date" "Account creation date"
createdAt: DateTime! createdAt: DateTime!
"Last battle time"
lastBattleTime: DateTime!
"Player's nick" "Player's nick"
nickname: String nickname: String
"Tank id, which kills max frags per battle"
maxFragsTankId: Long!
"Tank Id which created max experience per battle"
maxXpTankId: Long!
"Average tier"
avgTier: Float!
"All player's tanks"
tanks: [TankInfoResponse!]
"Account Region and request language"
regionAndLanguage: RealmAndLanguage!
"Last battle time"
lastBattleTime: DateTime!
"Battles count" "Battles count"
battles: Long! battles: Long!
"Capture points" "Capture points"
@@ -97,26 +107,102 @@ type AccountInfoResponse {
losses: Long! losses: Long!
"Max frags per battle" "Max frags per battle"
maxFrags: Long! maxFrags: Long!
"Tank id, which kills max frags per battle"
maxFragsTankId: Long!
"Max experience per battle" "Max experience per battle"
maxXp: Long! maxXp: Long!
"Tank Id which created max experience per battle"
maxXpTankId: Long!
"Total shots count" "Total shots count"
shots: Long! shots: Long!
"Total count of spotted vehicles" "Total count of spotted vehicles"
spotted: Long! spotted: Long!
"Total count of survived battles" "Total count of survived battles"
survivedBattles: Long! survivedBattles: Long!
"Total count of survived and winned battles" "Total count of survived and won battles"
winAndSurvived: Long!
"Total wins count"
wins: Long!
"Total amount of experience"
xp: Long!
"Wn7 coefficient"
wn7: Float!
"Player's win rate"
winRate: Decimal!
"Player's average damage"
avgDamage: Decimal!
"Player's average XP"
avgXp: Decimal!
"Damage coefficient"
damageCoefficient: Decimal!
"Rate of survival"
survivalRate: Decimal!
}
"Information about player's tank"
type TankInfoResponse implements Statistics {
"Player account identifier"
accountId: Long!
"Tank identifier"
tankId: Long!
"Information is tank in garage or not. Information is not provided without Auth token"
inGarage: Boolean
"Mark of Mastery"
markOfMastery: MarkOfMastery!
"Total time in battle until tank killed"
battleLifeTimeInSeconds: Int!
"Average life time in battle until tank is killed."
avgBattleLifeTimeInMinutes: Decimal!
"Tank name"
name: String
"Tank nation dictionary identifier"
tankNationId: String
"Localized tank nation name"
tankNation: String
"Tank tier"
tier: Int!
"Tank type dictionary identifier"
tankTypeId: String
"Localized tank type name"
tankType: String
"Is it premium tank or not"
isPremium: Boolean!
"Vehicle preview image"
previewImage: String
"Vehicle normal image"
normalImage: String
"Last battle time"
lastBattleTime: DateTime!
"Battles count"
battles: Long!
"Capture points"
capturePoints: Long!
"Total damage amount"
damageDealt: Long!
"Total amount of received damage"
damageReceived: Long!
"Dropped capture points"
droppedCapturePoints: Long!
"Total amount of frags"
frags: Long!
"Total amount of fras grater ten 8 lvl"
frags8P: Long!
"Total amount of hits"
hits: Long!
"Total amount of losses"
losses: Long!
"Max frags per battle"
maxFrags: Long!
"Max experience per battle"
maxXp: Long!
"Total shots count"
shots: Long!
"Total count of spotted vehicles"
spotted: Long!
"Total count of survived battles"
survivedBattles: Long!
"Total count of survived and won battles"
winAndSurvived: Long! winAndSurvived: Long!
"Total wins count" "Total wins count"
wins: Long! wins: Long!
"Total amount of experience" "Total amount of experience"
xp: Long! xp: Long!
"Average tier"
avgTier: Float!
"Wn7 coefficient" "Wn7 coefficient"
wn7: Float! wn7: Float!
"Player's win rate" "Player's win rate"
@@ -129,10 +215,6 @@ type AccountInfoResponse {
damageCoefficient: Decimal! damageCoefficient: Decimal!
"Rate of survival" "Rate of survival"
survivalRate: Decimal! survivalRate: Decimal!
"All player's tanks"
tanks: [TankInfoResponse!]
"Account Region and request language"
regionAndLanguage: RealmAndLanguage!
} }
"Account search result item" "Account search result item"
@@ -151,6 +233,58 @@ type AccountsSearchResponseItem {
lastBattle: DateTime! lastBattle: DateTime!
} }
"Represents game's statistics"
interface Statistics {
"Last battle time"
lastBattleTime: DateTime!
"Battles count"
battles: Long!
"Capture points"
capturePoints: Long!
"Total damage amount"
damageDealt: Long!
"Total amount of received damage"
damageReceived: Long!
"Dropped capture points"
droppedCapturePoints: Long!
"Total amount of frags"
frags: Long!
"Total amount of frags grater ten 8 lvl"
frags8P: Long!
"Total amount of hits"
hits: Long!
"Total amount of losses"
losses: Long!
"Max frags per battle"
maxFrags: Long!
"Max experience per battle"
maxXp: Long!
"Total shots count"
shots: Long!
"Total count of spotted vehicles"
spotted: Long!
"Total count of survived battles"
survivedBattles: Long!
"Total count of survived and won battles"
winAndSurvived: Long!
"Total wins count"
wins: Long!
"Total amount of experience"
xp: Long!
"Wn7 coefficient"
wn7: Float!
"Player's win rate"
winRate: Decimal!
"Player's average damage"
avgDamage: Decimal!
"Player's average XP"
avgXp: Decimal!
"Damage coefficient"
damageCoefficient: Decimal!
"Rate of survival"
survivalRate: Decimal!
}
enum ApplyPolicy { enum ApplyPolicy {
BEFORE_RESOLVER BEFORE_RESOLVER
AFTER_RESOLVER AFTER_RESOLVER
@@ -202,97 +336,15 @@ scalar Long
"The `DateTime` scalar represents an ISO-8601 compliant date time type." "The `DateTime` scalar represents an ISO-8601 compliant date time type."
scalar DateTime scalar DateTime
"The built-in `Decimal` scalar type."
scalar Decimal
"Information about player's tank"
type TankInfoResponse {
"Player account identifier"
accountId: Long!
"Tank identifier"
tankId: Long!
"Total time in battle until tank killed"
battleLifeTimeInSeconds: Int!
"Last battle"
lastBattleTime: DateTime!
"Information is tank in garage or not. Information is not provided without Auth token"
inGarage: Boolean
"Mark of Mastery"
markOfMastery: MarkOfMastery!
"Battles count"
battles: Long!
"Base capture points"
capturePoints: Long!
"Damage dealt"
damageDealt: Long!
"Damage received"
damageReceived: Long!
"Base dropped capture points"
droppedCapturePoints: Long!
"Frags count"
frags: Long!
"Frags count after 8 tier"
frags8P: Long!
"Hits count"
hits: Long!
"Losses count"
losses: Long!
"Max frags per battle"
maxFrags: Long!
"Max XP per battle"
maxXp: Long!
"Shots count"
shots: Long!
"Spotted vehicles count"
spotted: Long!
"Amount of survived battles"
survivedBattles: Long!
"Amount of survived and wined battles"
winAndSurvived: Long!
"Wins count"
wins: Long!
"Total experience"
xp: Long!
"Wn7 coefficient"
wn7: Float!
"Average life time in battle until tank is killed."
avgBattleLifeTimeInMinutes: Decimal!
"Tank's win rate"
winRate: Decimal!
"Average tank's damage"
avgDamage: Decimal!
"Average XP"
avgXp: Decimal!
"Damage coefficient"
damageCoefficient: Decimal!
"Rate of survival"
survivalRate: Decimal!
"Tank name"
name: String
"Tank nation dictionary identifier"
tankNationId: String
"Localized tank nation name"
tankNation: String
"Tank tier"
tier: Int!
"Tank type dictionary identifier"
tankTypeId: String
"Localized tank type name"
tankType: String
"Is it premium tank or not"
isPremium: Boolean!
"Vehicle preview image"
previewImage: String
"Vehicle normal image"
normalImage: String
}
"Represents pair of realm type a nd requested language" "Represents pair of realm type a nd requested language"
type RealmAndLanguage { type RealmAndLanguage {
realm: RealmType! realm: RealmType!
language: RequestLanguage! language: RequestLanguage!
} }
"The built-in `Decimal` scalar type."
scalar Decimal
"Request for update dictionaries mutation" "Request for update dictionaries mutation"
input UpdateDictionariesRequestInput { input UpdateDictionariesRequestInput {
"Determines what dictionaries should be updated. Usage: StaticDictionaries | Achievements | Vehicles" "Determines what dictionaries should be updated. Usage: StaticDictionaries | Achievements | Vehicles"
@@ -6,7 +6,7 @@ namespace WotBlitzStatisticsPro.Common.Model
/// <summary> /// <summary>
/// Information about player /// Information about player
/// </summary> /// </summary>
public class AccountInfoResponse public class AccountInfoResponse: IStatisticsResponse
{ {
///<summary> ///<summary>
/// Player account identifier /// Player account identifier
@@ -18,16 +18,48 @@ namespace WotBlitzStatisticsPro.Common.Model
///</summary> ///</summary>
public DateTime CreatedAt { get; set; } = new DateTime(1970, 1, 1); public DateTime CreatedAt { get; set; } = new DateTime(1970, 1, 1);
///<summary>
/// Last battle time
///</summary>
public DateTime LastBattleTime { get; set; } = new DateTime(1970, 1, 1);
///<summary> ///<summary>
/// Player's nick /// Player's nick
///</summary> ///</summary>
public string? Nickname { get; set; } public string? Nickname { get; set; }
///<summary>
/// Tank id, which kills max frags per battle
///</summary>
public long MaxFragsTankId { get; set; }
///<summary>
/// Tank Id which created max experience per battle
///</summary>
public long MaxXpTankId { get; set; }
/// <summary>
/// Average tier
/// </summary>
public double AvgTier { get; set; }
/// <summary>
/// All player's tanks
/// </summary>
public List<TankInfoResponse>? Tanks { get; set; }
/// <summary>
/// Clan info
/// </summary>
public ClanInfoResponse? ClanInfo { get; set; }
/// <summary>
/// Account Region and request language
/// </summary>
public RealmAndLanguage RegionAndLanguage { get; set; } = new(RealmType.Eu, RequestLanguage.En);
#region statistics
///<summary>
/// Last battle time
///</summary>
public DateTime LastBattleTime { get; set; } = new DateTime(1970, 1, 1);
///<summary> ///<summary>
/// Battles count /// Battles count
///</summary> ///</summary>
@@ -78,21 +110,11 @@ namespace WotBlitzStatisticsPro.Common.Model
///</summary> ///</summary>
public long MaxFrags { get; set; } public long MaxFrags { get; set; }
///<summary>
/// Tank id, which kills max frags per battle
///</summary>
public long MaxFragsTankId { get; set; }
///<summary> ///<summary>
/// Max experience per battle /// Max experience per battle
///</summary> ///</summary>
public long MaxXp { get; set; } public long MaxXp { get; set; }
///<summary>
/// Tank Id which created max experience per battle
///</summary>
public long MaxXpTankId { get; set; }
///<summary> ///<summary>
/// Total shots count /// Total shots count
///</summary> ///</summary>
@@ -109,7 +131,7 @@ namespace WotBlitzStatisticsPro.Common.Model
public long SurvivedBattles { get; set; } public long SurvivedBattles { get; set; }
///<summary> ///<summary>
/// Total count of survived and winned battles /// Total count of survived and won battles
///</summary> ///</summary>
public long WinAndSurvived { get; set; } public long WinAndSurvived { get; set; }
@@ -123,54 +145,37 @@ namespace WotBlitzStatisticsPro.Common.Model
///</summary> ///</summary>
public long Xp { get; set; } public long Xp { get; set; }
/// <summary>
/// Average tier
/// </summary>
public double AvgTier { get; set; }
/// <summary> /// <summary>
/// Wn7 coefficient /// Wn7 coefficient
/// </summary> /// </summary>
public double Wn7 { get; set; } public double Wn7 { get; set; }
/// <summary> /// <summary>
/// Player's win rate /// Player's win rate
/// </summary> /// </summary>
public decimal WinRate => Battles == 0 ? 0m : (decimal) 100 * Wins / Battles; public decimal WinRate => Battles == 0 ? 0m : (decimal)100 * Wins / Battles;
/// <summary> /// <summary>
/// Player's average damage /// Player's average damage
/// </summary> /// </summary>
public decimal AvgDamage => Battles == 0 ? 0m : (decimal)DamageDealt / Battles; public decimal AvgDamage => Battles == 0 ? 0m : (decimal)DamageDealt / Battles;
/// <summary> /// <summary>
/// Player's average XP /// Player's average XP
/// </summary> /// </summary>
public decimal AvgXp => Battles == 0 ? 0m : (decimal)Xp / Battles; public decimal AvgXp => Battles == 0 ? 0m : (decimal)Xp / Battles;
/// <summary>
/// Damage coefficient
/// </summary>
public decimal DamageCoefficient => DamageReceived == 0 ? 0m : (decimal) DamageDealt / DamageReceived;
/// <summary>
/// Rate of survival
/// </summary>
public decimal SurvivalRate => Battles == 0 ? 0m : (decimal) 100 * SurvivedBattles / Battles;
/// <summary> /// <summary>
/// All player's tanks /// Damage coefficient
/// </summary> /// </summary>
public List<TankInfoResponse>? Tanks { get; set; } public decimal DamageCoefficient => DamageReceived == 0 ? 0m : (decimal)DamageDealt / DamageReceived;
/// <summary> /// <summary>
/// Clan info /// Rate of survival
/// </summary> /// </summary>
public ClanInfoResponse? ClanInfo { get; set; } public decimal SurvivalRate => Battles == 0 ? 0m : (decimal)100 * SurvivedBattles / Battles;
/// <summary>
/// Account Region and request language #endregion
/// </summary> }
public RealmAndLanguage RegionAndLanguage { get; set; } = new(RealmType.Eu, RequestLanguage.En);
}
} }
@@ -0,0 +1,130 @@
using System;
namespace WotBlitzStatisticsPro.Common.Model
{
/// <summary>
/// Represents game's statistics
/// </summary>
public interface IStatisticsResponse
{
///<summary>
/// Last battle time
///</summary>
DateTime LastBattleTime { get; set; }
///<summary>
/// Battles count
///</summary>
long Battles { get; set; }
///<summary>
/// Capture points
///</summary>
long CapturePoints { get; set; }
///<summary>
/// Total damage amount
///</summary>
long DamageDealt { get; set; }
///<summary>
/// Total amount of received damage
///</summary>
long DamageReceived { get; set; }
///<summary>
/// Dropped capture points
///</summary>
long DroppedCapturePoints { get; set; }
///<summary>
/// Total amount of frags
///</summary>
long Frags { get; set; }
///<summary>
/// Total amount of frags grater ten 8 lvl
///</summary>
long Frags8P { get; set; }
///<summary>
/// Total amount of hits
///</summary>
long Hits { get; set; }
///<summary>
/// Total amount of losses
///</summary>
long Losses { get; set; }
///<summary>
/// Max frags per battle
///</summary>
long MaxFrags { get; set; }
///<summary>
/// Max experience per battle
///</summary>
long MaxXp { get; set; }
///<summary>
/// Total shots count
///</summary>
long Shots { get; set; }
///<summary>
/// Total count of spotted vehicles
///</summary>
long Spotted { get; set; }
///<summary>
/// Total count of survived battles
///</summary>
long SurvivedBattles { get; set; }
///<summary>
/// Total count of survived and won battles
///</summary>
long WinAndSurvived { get; set; }
///<summary>
/// Total wins count
///</summary>
long Wins { get; set; }
///<summary>
/// Total amount of experience
///</summary>
long Xp { get; set; }
/// <summary>
/// Wn7 coefficient
/// </summary>
double Wn7 { get; set; }
/// <summary>
/// Player's win rate
/// </summary>
decimal WinRate { get; }
/// <summary>
/// Player's average damage
/// </summary>
decimal AvgDamage { get; }
/// <summary>
/// Player's average XP
/// </summary>
decimal AvgXp { get; }
/// <summary>
/// Damage coefficient
/// </summary>
decimal DamageCoefficient { get; }
/// <summary>
/// Rate of survival
/// </summary>
decimal SurvivalRate { get; }
}
}
@@ -5,7 +5,7 @@ namespace WotBlitzStatisticsPro.Common.Model
/// <summary> /// <summary>
/// Information about player's tank /// Information about player's tank
/// </summary> /// </summary>
public class TankInfoResponse public class TankInfoResponse: IStatisticsResponse
{ {
///<summary> ///<summary>
/// Player account identifier /// Player account identifier
@@ -17,16 +17,6 @@ namespace WotBlitzStatisticsPro.Common.Model
///</summary> ///</summary>
public long TankId { get; set; } public long TankId { get; set; }
/// <summary>
/// Total time in battle until tank killed
/// </summary>
public int BattleLifeTimeInSeconds { get; set; }
///<summary>
/// Last battle
///</summary>
public DateTime LastBattleTime { get; set; }
/// <summary> /// <summary>
/// Information is tank in garage or not. Information is not provided without Auth token /// Information is tank in garage or not. Information is not provided without Auth token
/// </summary> /// </summary>
@@ -37,126 +27,15 @@ namespace WotBlitzStatisticsPro.Common.Model
///</summary> ///</summary>
public MarkOfMastery MarkOfMastery { get; set; } public MarkOfMastery MarkOfMastery { get; set; }
///<summary>
/// Battles count
///</summary>
public long Battles { get; set; } = 1;
///<summary>
/// Base capture points
///</summary>
public long CapturePoints { get; set; }
///<summary>
/// Damage dealt
///</summary>
public long DamageDealt { get; set; }
///<summary>
/// Damage received
///</summary>
public long DamageReceived { get; set; }
///<summary>
/// Base dropped capture points
///</summary>
public long DroppedCapturePoints { get; set; }
///<summary>
/// Frags count
///</summary>
public long Frags { get; set; }
///<summary>
/// Frags count after 8 tier
///</summary>
public long Frags8P { get; set; }
///<summary>
/// Hits count
///</summary>
public long Hits { get; set; }
///<summary>
/// Losses count
///</summary>
public long Losses { get; set; }
///<summary>
/// Max frags per battle
///</summary>
public long MaxFrags { get; set; }
///<summary>
/// Max XP per battle
///</summary>
public long MaxXp { get; set; }
///<summary>
/// Shots count
///</summary>
public long Shots { get; set; }
///<summary>
/// Spotted vehicles count
///</summary>
public long Spotted { get; set; }
///<summary>
/// Amount of survived battles
///</summary>
public long SurvivedBattles { get; set; }
///<summary>
/// Amount of survived and wined battles
///</summary>
public long WinAndSurvived { get; set; }
///<summary>
/// Wins count
///</summary>
public long Wins { get; set; }
///<summary>
/// Total experience
///</summary>
public long Xp { get; set; }
/// <summary> /// <summary>
/// Wn7 coefficient /// Total time in battle until tank killed
/// </summary> /// </summary>
public double Wn7 { get; set; } public int BattleLifeTimeInSeconds { get; set; }
/// <summary> /// <summary>
/// Average life time in battle until tank is killed. /// Average life time in battle until tank is killed.
/// </summary> /// </summary>
public decimal AvgBattleLifeTimeInMinutes => (decimal) BattleLifeTimeInSeconds / (60 * Battles); public decimal AvgBattleLifeTimeInMinutes => (decimal)BattleLifeTimeInSeconds / (60 * Battles);
/// <summary>
/// Tank's win rate
/// </summary>
public decimal WinRate => (decimal) 100 * Wins / Battles;
/// <summary>
/// Average tank's damage
/// </summary>
public decimal AvgDamage => (decimal) DamageDealt / Battles;
/// <summary>
/// Average XP
/// </summary>
public decimal AvgXp => (decimal) Xp / Battles;
/// <summary>
/// Damage coefficient
/// </summary>
public decimal DamageCoefficient => DamageReceived == 0 ? 0m : (decimal)DamageDealt / DamageReceived;
/// <summary>
/// Rate of survival
/// </summary>
public decimal SurvivalRate => (decimal)100 * SurvivedBattles / Battles;
/// <summary> /// <summary>
/// Tank name /// Tank name
@@ -203,6 +82,129 @@ namespace WotBlitzStatisticsPro.Common.Model
/// </summary> /// </summary>
public string? NormalImage { get; set; } public string? NormalImage { get; set; }
#region statistics
} ///<summary>
/// Last battle time
///</summary>
public DateTime LastBattleTime { get; set; } = new DateTime(1970, 1, 1);
///<summary>
/// Battles count
///</summary>
public long Battles { get; set; }
///<summary>
/// Capture points
///</summary>
public long CapturePoints { get; set; }
///<summary>
/// Total damage amount
///</summary>
public long DamageDealt { get; set; }
///<summary>
/// Total amount of received damage
///</summary>
public long DamageReceived { get; set; }
///<summary>
/// Dropped capture points
///</summary>
public long DroppedCapturePoints { get; set; }
///<summary>
/// Total amount of frags
///</summary>
public long Frags { get; set; }
///<summary>
/// Total amount of fras grater ten 8 lvl
///</summary>
public long Frags8P { get; set; }
///<summary>
/// Total amount of hits
///</summary>
public long Hits { get; set; }
///<summary>
/// Total amount of losses
///</summary>
public long Losses { get; set; }
///<summary>
/// Max frags per battle
///</summary>
public long MaxFrags { get; set; }
///<summary>
/// Max experience per battle
///</summary>
public long MaxXp { get; set; }
///<summary>
/// Total shots count
///</summary>
public long Shots { get; set; }
///<summary>
/// Total count of spotted vehicles
///</summary>
public long Spotted { get; set; }
///<summary>
/// Total count of survived battles
///</summary>
public long SurvivedBattles { get; set; }
///<summary>
/// Total count of survived and won battles
///</summary>
public long WinAndSurvived { get; set; }
///<summary>
/// Total wins count
///</summary>
public long Wins { get; set; }
///<summary>
/// Total amount of experience
///</summary>
public long Xp { get; set; }
/// <summary>
/// Wn7 coefficient
/// </summary>
public double Wn7 { get; set; }
/// <summary>
/// Player's win rate
/// </summary>
public decimal WinRate => Battles == 0 ? 0m : (decimal)100 * Wins / Battles;
/// <summary>
/// Player's average damage
/// </summary>
public decimal AvgDamage => Battles == 0 ? 0m : (decimal)DamageDealt / Battles;
/// <summary>
/// Player's average XP
/// </summary>
public decimal AvgXp => Battles == 0 ? 0m : (decimal)Xp / Battles;
/// <summary>
/// Damage coefficient
/// </summary>
public decimal DamageCoefficient => DamageReceived == 0 ? 0m : (decimal)DamageDealt / DamageReceived;
/// <summary>
/// Rate of survival
/// </summary>
public decimal SurvivalRate => Battles == 0 ? 0m : (decimal)100 * SurvivedBattles / Battles;
#endregion
}
} }
@@ -0,0 +1,14 @@
using HotChocolate.Types;
using WotBlitzStatisticsPro.Common.Model;
namespace WotBlitzStatisticsPro.GraphQl.ObjectTypes
{
[ExtendObjectType(Name = "Query")]
public class StatisticsResponseType: InterfaceType<IStatisticsResponse>
{
protected override void Configure(IInterfaceTypeDescriptor<IStatisticsResponse> descriptor)
{
descriptor.Name("Statistics");
}
}
}
@@ -0,0 +1,15 @@
using HotChocolate.Types;
using WotBlitzStatisticsPro.Common.Model;
namespace WotBlitzStatisticsPro.GraphQl.ObjectTypes
{
[ExtendObjectType(Name = "Query")]
public class TankInfoResponseType: ObjectType<TankInfoResponse>
{
protected override void Configure(IObjectTypeDescriptor<TankInfoResponse> descriptor)
{
descriptor.Name("TankInfoResponse");
descriptor.Implements<StatisticsResponseType>();
}
}
}
@@ -1,5 +1,6 @@
using HotChocolate.Types; using HotChocolate.Types;
using WotBlitzStatisticsPro.Common.Model; using WotBlitzStatisticsPro.Common.Model;
using WotBlitzStatisticsPro.GraphQl.ObjectTypes;
using WotBlitzStatisticsPro.Logic; using WotBlitzStatisticsPro.Logic;
namespace WotBlitzStatisticsPro.GraphQl.Resolvers namespace WotBlitzStatisticsPro.GraphQl.Resolvers
@@ -9,6 +10,9 @@ namespace WotBlitzStatisticsPro.GraphQl.Resolvers
{ {
protected override void Configure(IObjectTypeDescriptor<AccountInfoResponse> descriptor) protected override void Configure(IObjectTypeDescriptor<AccountInfoResponse> descriptor)
{ {
descriptor.Name("AccountInfoResponse");
descriptor.Implements<StatisticsResponseType>();
descriptor.Field(t => t.ClanInfo) descriptor.Field(t => t.ClanInfo)
.Resolver(ctx => ctx.Service<IWargamingClans>().GelClanInfoByAccount(ctx.Parent<AccountInfoResponse>().AccountId, ctx.Parent<AccountInfoResponse>().RegionAndLanguage)); .Resolver(ctx => ctx.Service<IWargamingClans>().GelClanInfoByAccount(ctx.Parent<AccountInfoResponse>().AccountId, ctx.Parent<AccountInfoResponse>().RegionAndLanguage));
} }
+1
View File
@@ -85,6 +85,7 @@ namespace WotBlitzStatisticsPro.GraphQl
.AddType<WotBlitzStatisticsQuery>() .AddType<WotBlitzStatisticsQuery>()
.AddType<AccountInfoResolver>() .AddType<AccountInfoResolver>()
.AddType<WotBlitzAchievementsQuery>() .AddType<WotBlitzAchievementsQuery>()
.AddType<TankInfoResponseType>()
.AddMutationType(d => d.Name("Mutation")) .AddMutationType(d => d.Name("Mutation"))
.AddType<WotBlitzStatisticsMutation>() .AddType<WotBlitzStatisticsMutation>()
.AddType<AuthenticationMutation>() .AddType<AuthenticationMutation>()