mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-23 19:30:06 +02:00
feat: deictionary query implemented
This commit is contained in:
1 parent
3e4f34ca16
commit
8a9f2f7077
21 files changed
+972
-69
No files matched your search
@@ -1,4 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
|
||||
namespace WotBlitzStatisticsPro.Logic
|
||||
@@ -7,5 +8,7 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
{
|
||||
Task<UpdateDictionariesResponseItem[]> UpdateDictionaries(
|
||||
UpdateDictionariesRequest updateDictionariesRequest);
|
||||
|
||||
Task<List<VehicleResponse>?> GetVehiclesByNation(string nationId, RequestLanguage? language);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using AutoMapper;
|
||||
using WotBlitzStatisticsPro.Common.Dictionaries;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
using WotBlitzStatisticsPro.DataAccess.Model;
|
||||
using WotBlitzStatisticsPro.WgApiClient.Model;
|
||||
|
||||
@@ -36,6 +38,18 @@ namespace WotBlitzStatisticsPro.Logic.Mappers
|
||||
.ForMember(d => d.PriceXp,
|
||||
o =>
|
||||
o.MapFrom(s => s.PricesXp));
|
||||
|
||||
CreateMap<IVehiclesDictionary, VehicleResponse>()
|
||||
.ForMember(v => v.Name,
|
||||
o => o.MapFrom((src, dest, destMember, context) =>
|
||||
src.Name.FirstOrDefault(l => l.Language == (RequestLanguage) context.Items["language"])?.Value))
|
||||
.ForMember(v => v.Description,
|
||||
o => o.MapFrom((src, dest, destMember, context) =>
|
||||
src.Description.FirstOrDefault(l => l.Language == (RequestLanguage) context.Items["language"])?.Value))
|
||||
.ForMember(v => v.NexTanksInTree,
|
||||
o => o.MapFrom(src => src.NexTanksInTree.Select(t => t.TankId).ToList()))
|
||||
;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using AutoMapper;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using WotBlitzStatisticsPro.Common.Dictionaries;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
using WotBlitzStatisticsPro.DataAccess;
|
||||
using WotBlitzStatisticsPro.Logic.Dictionaries;
|
||||
|
||||
namespace WotBlitzStatisticsPro.Logic
|
||||
@@ -10,14 +13,32 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
public class WargamingDictionaries: IWargamingDictionaries
|
||||
{
|
||||
private readonly DictionariesUpdaterResolver _dictionaryUpdaterFactoryMethod;
|
||||
private readonly IDictionariesDataAccessor _dictionariesDataAccessor;
|
||||
private readonly IMapper _mapper;
|
||||
private readonly ILogger<WargamingDictionaries> _logger;
|
||||
|
||||
public WargamingDictionaries(DictionariesUpdaterResolver dictionaryUpdaterFactoryMethod, ILogger<WargamingDictionaries> logger)
|
||||
public WargamingDictionaries(
|
||||
DictionariesUpdaterResolver dictionaryUpdaterFactoryMethod,
|
||||
IDictionariesDataAccessor dictionariesDataAccessor,
|
||||
ILogger<WargamingDictionaries> logger,
|
||||
IMapper mapper)
|
||||
{
|
||||
_dictionaryUpdaterFactoryMethod = dictionaryUpdaterFactoryMethod;
|
||||
_dictionariesDataAccessor = dictionariesDataAccessor;
|
||||
_logger = logger;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
|
||||
public async Task<List<VehicleResponse>?> GetVehiclesByNation(string nationId, RequestLanguage? language)
|
||||
{
|
||||
language = language ?? RequestLanguage.En;
|
||||
var vehicles = await _dictionariesDataAccessor.GetVehiclesByNation(nationId);
|
||||
return _mapper.Map<List<IVehiclesDictionary>, List<VehicleResponse>>(vehicles, opts =>
|
||||
{
|
||||
opts.Items["language"] = language;
|
||||
});
|
||||
}
|
||||
|
||||
public async Task<UpdateDictionariesResponseItem[]> UpdateDictionaries(UpdateDictionariesRequest updateDictionariesRequest)
|
||||
{
|
||||
var response = new List<UpdateDictionariesResponseItem>();
|
||||
|
||||
Reference in new issue
Block a user