chore: request language optimised

This commit is contained in:
Mikhail Shabanov committed 2021-05-15 19:47:48 +02:00
1 parent 4b5b12e87d
commit 68faee2d23
8 files changed
+45 -15

No files matched your search

@@ -32,7 +32,7 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
public List<SearchItem> FilteredList { get; set; } = new(); public List<SearchItem> FilteredList { get; set; } = new();
//public RealmType CurrentRealmType { get; set; } = RealmType.Eu; public RealmType CurrentRealmType { get; set; } = RealmType.Eu;
public long CurrentValue { get; set; } public long CurrentValue { get; set; }
@@ -40,7 +40,6 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
public async Task OnSearchTextChange(string value) public async Task OnSearchTextChange(string value)
{ {
var env = Environment.GetEnvironmentVariable("USE_GRAPH_QL_MOCK");
if (DialogType == DialogType.FindPlayer && value.Length < 3) if (DialogType == DialogType.FindPlayer && value.Length < 3)
{ {
return; return;
@@ -52,7 +51,7 @@ namespace WotBlitzStatisticsPro.Blazor.Pages
// ToDo: Move this call to a service // ToDo: Move this call to a service
var accounts = var accounts =
await GraphQlBackendService.FindPlayers(value, RealmType.Ru, RequestLanguage.En); await GraphQlBackendService.FindPlayers(value, CurrentRealmType);
if (accounts != null) if (accounts != null)
{ {
@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System.Threading.Tasks; using System.Threading.Tasks;
using Bogus; using Bogus;
using Bogus.Extensions; using Bogus.Extensions;
@@ -9,11 +10,11 @@ namespace WotBlitzStatisticsPro.Blazor.Services
{ {
public class GraphQlBackendMockService: IGraphQlBackendService public class GraphQlBackendMockService: IGraphQlBackendService
{ {
public async Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers(string accountNick, RealmType realmType, RequestLanguage language) public async Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers(string accountNick, RealmType realmType)
{ {
var result = new List<IFindPlayers_Players>(); var result = new List<IFindPlayers_Players>();
var faker = new Faker(FakerLanguage(language)); var faker = new Faker(FakerLanguage(GetLanguage()));
var random = faker.Random.Number(10, 80); var random = faker.Random.Number(10, 80);
for (int i = 0; i < random; i++) for (int i = 0; i < random; i++)
@@ -32,11 +33,11 @@ namespace WotBlitzStatisticsPro.Blazor.Services
return result; return result;
} }
public async Task<IReadOnlyList<IFindClans_Clans>?> FindClans(string clanNameOrTag, RealmType realmType, RequestLanguage language) public async Task<IReadOnlyList<IFindClans_Clans>?> FindClans(string clanNameOrTag, RealmType realmType)
{ {
var result = new List<IFindClans_Clans>(); var result = new List<IFindClans_Clans>();
var faker = new Faker(FakerLanguage(language)); var faker = new Faker(FakerLanguage(GetLanguage()));
var random = faker.Random.Number(10, 80); var random = faker.Random.Number(10, 80);
for (int i = 0; i < random; i++) for (int i = 0; i < random; i++)
@@ -67,5 +68,20 @@ namespace WotBlitzStatisticsPro.Blazor.Services
return "en"; return "en";
} }
} }
private RequestLanguage GetLanguage()
{
var culture = CultureInfo.CurrentCulture;
switch (culture.Name)
{
case "ru-RU":
return RequestLanguage.Ru;
case "de-DE":
return RequestLanguage.De;
default:
return RequestLanguage.En;
}
}
} }
} }
@@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System.Threading.Tasks; using System.Threading.Tasks;
using WotBlitzStatisticsPro.Blazor.GraphQl; using WotBlitzStatisticsPro.Blazor.GraphQl;
@@ -13,20 +14,36 @@ namespace WotBlitzStatisticsPro.Blazor.Services
_client = client; _client = client;
} }
public async Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers(string accountNick, RealmType realmType, RequestLanguage language) public async Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers(string accountNick, RealmType realmType)
{ {
var accounts = var accounts =
await _client.FindPlayers.ExecuteAsync(accountNick, RealmType.Ru, RequestLanguage.En); await _client.FindPlayers.ExecuteAsync(accountNick, realmType, GetLanguage());
return accounts.Data?.Players; return accounts.Data?.Players;
} }
public async Task<IReadOnlyList<IFindClans_Clans>?> FindClans(string clanNameOrTag, RealmType realmType, RequestLanguage language) public async Task<IReadOnlyList<IFindClans_Clans>?> FindClans(string clanNameOrTag, RealmType realmType)
{ {
var clans = var clans =
await _client.FindClans.ExecuteAsync(clanNameOrTag, RealmType.Ru, RequestLanguage.En); await _client.FindClans.ExecuteAsync(clanNameOrTag, realmType, GetLanguage());
return clans.Data?.Clans; return clans.Data?.Clans;
} }
private RequestLanguage GetLanguage()
{
var culture = CultureInfo.CurrentCulture;
switch (culture.Name)
{
case "ru-RU":
return RequestLanguage.Ru;
case "de-DE":
return RequestLanguage.De;
default:
return RequestLanguage.En;
}
}
} }
} }
@@ -8,12 +8,10 @@ namespace WotBlitzStatisticsPro.Blazor.Services
{ {
Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers( Task<IReadOnlyList<IFindPlayers_Players>?> FindPlayers(
string accountNick, string accountNick,
RealmType realmType, RealmType realmType);
RequestLanguage language);
Task<IReadOnlyList<IFindClans_Clans>?> FindClans( Task<IReadOnlyList<IFindClans_Clans>?> FindClans(
string clanNameOrTag, string clanNameOrTag,
RealmType realmType, RealmType realmType);
RequestLanguage language);
} }
} }
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 977 B