mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-21 10:27:18 +02:00
Some errors fix
This commit is contained in:
1 parent
7ec01f0c58
commit
ccc5c768b3
7 files changed
+58
-13
No files matched your search
@@ -16,12 +16,12 @@ namespace WotBlitzStatisticsPro.Common.Model
|
||||
///<summary>
|
||||
/// Account creation date
|
||||
///</summary>
|
||||
public DateTime CreatedAt { get; set; }
|
||||
public DateTime CreatedAt { get; set; } = new DateTime(1970, 1, 1);
|
||||
|
||||
///<summary>
|
||||
/// Last battle time
|
||||
///</summary>
|
||||
public DateTime LastBattleTime { get; set; }
|
||||
public DateTime LastBattleTime { get; set; } = new DateTime(1970, 1, 1);
|
||||
|
||||
///<summary>
|
||||
/// Player's nick
|
||||
|
||||
@@ -7,6 +7,6 @@ namespace WotBlitzStatisticsPro.Logic.Dictionaries
|
||||
/// </summary>
|
||||
/// <param name="dictionaryType">Dictionary type for resolving service.</param>
|
||||
/// <returns>Updater service.</returns>
|
||||
public delegate IDictionaryUpdater DictionariesUpdaterResolver(DictionaryType dictionaryType);
|
||||
public delegate IDictionaryUpdater? DictionariesUpdaterResolver(DictionaryType dictionaryType);
|
||||
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using AutoMapper;
|
||||
using WotBlitzStatisticsPro.Common.Dictionaries;
|
||||
using WotBlitzStatisticsPro.DataAccess.Model;
|
||||
@@ -26,9 +27,9 @@ namespace WotBlitzStatisticsPro.Logic.Mappers
|
||||
.ForMember(d => d.NormalImage,
|
||||
o => o.MapFrom(s => s.Images == null ? string.Empty : s.Images["normal"]))
|
||||
.ForMember(d => d.PriceCredit,
|
||||
o => o.MapFrom(s => s.Cost == null ? string.Empty : s.Cost["price_credit"]))
|
||||
o => o.MapFrom(s => s.Cost == null ? decimal.Zero : Convert.ToDecimal(s.Cost["price_credit"])))
|
||||
.ForMember(d => d.PriceGold,
|
||||
o => o.MapFrom(s => s.Cost == null ? string.Empty : s.Cost["price_gold"]))
|
||||
o => o.MapFrom(s => s.Cost == null ? decimal.Zero : Convert.ToDecimal(s.Cost["price_gold"])))
|
||||
.ForMember(d => d.NexTanksInTree,
|
||||
o =>
|
||||
o.MapFrom(s => s.NextTanks))
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
using WotBlitzStatisticsPro.Logic.AccountInformationPipeline;
|
||||
using WotBlitzStatisticsPro.Logic.AccountInformationPipeline.OperationContext;
|
||||
@@ -11,15 +12,21 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
public class WargamingAccounts: IWargamingAccounts
|
||||
{
|
||||
private readonly IOperationFactory _operationFactory;
|
||||
private readonly ILogger<WargamingAccounts> _logger;
|
||||
|
||||
public WargamingAccounts(IOperationFactory operationFactory)
|
||||
public WargamingAccounts(IOperationFactory operationFactory, ILogger<WargamingAccounts> logger)
|
||||
{
|
||||
_operationFactory = operationFactory;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<AccountInfoResponse> GatherAccountInformation(RealmType realm, long accountId, RequestLanguage requestLanguage)
|
||||
public async Task<AccountInfoResponse> GatherAccountInformation(RealmType realm, long accountId,
|
||||
RequestLanguage requestLanguage)
|
||||
{
|
||||
var contextData = new AccountInformationPipelineContextData();
|
||||
try
|
||||
{
|
||||
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
@@ -38,12 +45,23 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogError(e, "GatherAccountInformation error");
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
return contextData?.Response ?? new AccountInfoResponse();
|
||||
}
|
||||
|
||||
public async Task<AccountInfoResponse> GatherAndSaveAccountInformation(RealmType realm, long accountId, RequestLanguage requestLanguage)
|
||||
{
|
||||
var contextData = new AccountInformationPipelineContextData();
|
||||
try
|
||||
{
|
||||
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
@@ -64,13 +82,21 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
.Invoke(context, null)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogError(e, "GatherAndSaveAccountInformation error");
|
||||
|
||||
throw;
|
||||
}
|
||||
return contextData?.Response ?? new AccountInfoResponse();
|
||||
}
|
||||
|
||||
public async Task<AccountInfoHistoryResponse> GetAccountInfoHistory(RealmType realm, long accountId, DateTime startDate, RequestLanguage requestLanguage)
|
||||
{
|
||||
var contextData = new AccountHistoryInformationPipelineContextData(startDate);
|
||||
try
|
||||
{
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
@@ -92,7 +118,12 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
.Invoke(context, null)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogError(e, "GetAccountInfoHistory error");
|
||||
throw;
|
||||
}
|
||||
return contextData?.Response ?? new AccountInfoHistoryResponse();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
using WotBlitzStatisticsPro.Logic.Dictionaries;
|
||||
|
||||
@@ -9,17 +10,21 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
public class WargamingDictionaries: IWargamingDictionaries
|
||||
{
|
||||
private readonly DictionariesUpdaterResolver _dictionaryUpdaterFactoryMethod;
|
||||
private readonly ILogger<WargamingDictionaries> _logger;
|
||||
|
||||
public WargamingDictionaries(DictionariesUpdaterResolver dictionaryUpdaterFactoryMethod)
|
||||
public WargamingDictionaries(DictionariesUpdaterResolver dictionaryUpdaterFactoryMethod, ILogger<WargamingDictionaries> logger)
|
||||
{
|
||||
_dictionaryUpdaterFactoryMethod = dictionaryUpdaterFactoryMethod;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<UpdateDictionariesResponseItem[]> UpdateDictionaries(UpdateDictionariesRequest updateDictionariesRequest)
|
||||
{
|
||||
var response = new List<UpdateDictionariesResponseItem>();
|
||||
|
||||
foreach (var dictionaryType in (DictionaryType[])Enum.GetValues(typeof(DictionaryType)))
|
||||
try
|
||||
{
|
||||
foreach (var dictionaryType in (DictionaryType[]) Enum.GetValues(typeof(DictionaryType)))
|
||||
{
|
||||
if ((updateDictionariesRequest.DictionaryTypes & dictionaryType) != 0)
|
||||
{
|
||||
@@ -30,6 +35,12 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogError(e, "UpdateDictionaries error");
|
||||
throw;
|
||||
}
|
||||
|
||||
return response.ToArray();
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
DictionaryType.StaticDictionaries => serviceProvider.GetService<StaticDictionariesUpdater>()!,
|
||||
DictionaryType.Achievements => serviceProvider.GetService<AchievementsDictionaryUpdater>()!,
|
||||
DictionaryType.Vehicles => serviceProvider.GetService<VehiclesDictionaryUpdater>()!,
|
||||
_ => throw new ApplicationException($"Unknown dictionary type '{dictionaryType}'")
|
||||
_ => null
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using WotBlitzStatisticsPro.Common.Model;
|
||||
@@ -40,7 +41,8 @@ namespace WotBlitzStatisticsPro.Tests.DictionariesTests
|
||||
|
||||
var services = serviceProvider.BuildServiceProvider();
|
||||
|
||||
_wargamingDictionaries = new WargamingDictionaries(services.GetService<DictionariesUpdaterResolver>());
|
||||
_wargamingDictionaries = new WargamingDictionaries(services.GetService<DictionariesUpdaterResolver>(),
|
||||
(new Mock<ILogger<WargamingDictionaries>>()).Object);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
Reference in new issue
Block a user