mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-24 03:40:07 +02:00
Some errors fix
This commit is contained in:
1 parent
7ec01f0c58
commit
ccc5c768b3
7 files changed
+119
-74
No files matched your search
@@ -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,31 +12,45 @@ 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();
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
|
||||
pipeline.AddOperation<GetAccountInfoOperation>()
|
||||
.AddOperation<GetTanksInfoOperation>()
|
||||
.AddOperation<CalculateStatisticsOperation>()
|
||||
.AddOperation<BuildAccountInfoResponseOperation>()
|
||||
;
|
||||
|
||||
var firstOperation = pipeline.Build();
|
||||
if (firstOperation != null)
|
||||
try
|
||||
{
|
||||
await firstOperation
|
||||
.Invoke(context, null)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
|
||||
pipeline.AddOperation<GetAccountInfoOperation>()
|
||||
.AddOperation<GetTanksInfoOperation>()
|
||||
.AddOperation<CalculateStatisticsOperation>()
|
||||
.AddOperation<BuildAccountInfoResponseOperation>()
|
||||
;
|
||||
|
||||
var firstOperation = pipeline.Build();
|
||||
if (firstOperation != null)
|
||||
{
|
||||
await firstOperation
|
||||
.Invoke(context, null)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogError(e, "GatherAccountInformation error");
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
return contextData?.Response ?? new AccountInfoResponse();
|
||||
@@ -44,55 +59,71 @@ namespace WotBlitzStatisticsPro.Logic
|
||||
public async Task<AccountInfoResponse> GatherAndSaveAccountInformation(RealmType realm, long accountId, RequestLanguage requestLanguage)
|
||||
{
|
||||
var contextData = new AccountInformationPipelineContextData();
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
|
||||
pipeline.AddOperation<GetAccountInfoOperation>()
|
||||
.AddOperation<ReadAccountInfoFromDbOperation>()
|
||||
.AddOperation<CheckLastBattleDateOperation>()
|
||||
.AddOperation<GetTanksInfoOperation>()
|
||||
.AddOperation<CalculateStatisticsOperation>()
|
||||
.AddOperation<SaveAccountAndTanksOperation>()
|
||||
.AddOperation<BuildAccountInfoResponseOperation>()
|
||||
;
|
||||
|
||||
var firstOperation = pipeline.Build();
|
||||
if (firstOperation != null)
|
||||
try
|
||||
{
|
||||
await firstOperation
|
||||
.Invoke(context, null)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
|
||||
pipeline.AddOperation<GetAccountInfoOperation>()
|
||||
.AddOperation<ReadAccountInfoFromDbOperation>()
|
||||
.AddOperation<CheckLastBattleDateOperation>()
|
||||
.AddOperation<GetTanksInfoOperation>()
|
||||
.AddOperation<CalculateStatisticsOperation>()
|
||||
.AddOperation<SaveAccountAndTanksOperation>()
|
||||
.AddOperation<BuildAccountInfoResponseOperation>()
|
||||
;
|
||||
|
||||
var firstOperation = pipeline.Build();
|
||||
if (firstOperation != null)
|
||||
{
|
||||
await firstOperation
|
||||
.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);
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
|
||||
pipeline.AddOperation<ReadAccountInfoFromDbOperation>()
|
||||
.AddOperation<ReadAccountInfoHistoryFromDbOperation>()
|
||||
.AddOperation<CheckIfHistoryIsEmptyOperation>()
|
||||
.AddOperation<FillOverallStatisticsOperation>()
|
||||
.AddOperation<FillPeriodStatisticsOperation>()
|
||||
.AddOperation<FillPeriodDifferenceOperation>()
|
||||
.AddOperation<FillStatisticsDifferenceOperation>()
|
||||
.AddOperation<FillAccountInfoHistoryResponse>()
|
||||
;
|
||||
|
||||
var firstOperation = pipeline.Build();
|
||||
if (firstOperation != null)
|
||||
try
|
||||
{
|
||||
await firstOperation
|
||||
.Invoke(context, null)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
var context = new OperationContext(new AccountRequest(accountId, realm, requestLanguage));
|
||||
context.AddOrReplace(contextData);
|
||||
var pipeline = new Pipeline<IOperationContext>(_operationFactory);
|
||||
|
||||
pipeline.AddOperation<ReadAccountInfoFromDbOperation>()
|
||||
.AddOperation<ReadAccountInfoHistoryFromDbOperation>()
|
||||
.AddOperation<CheckIfHistoryIsEmptyOperation>()
|
||||
.AddOperation<FillOverallStatisticsOperation>()
|
||||
.AddOperation<FillPeriodStatisticsOperation>()
|
||||
.AddOperation<FillPeriodDifferenceOperation>()
|
||||
.AddOperation<FillStatisticsDifferenceOperation>()
|
||||
.AddOperation<FillAccountInfoHistoryResponse>()
|
||||
;
|
||||
|
||||
var firstOperation = pipeline.Build();
|
||||
if (firstOperation != null)
|
||||
{
|
||||
await firstOperation
|
||||
.Invoke(context, null)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogError(e, "GetAccountInfoHistory error");
|
||||
throw;
|
||||
}
|
||||
return contextData?.Response ?? new AccountInfoHistoryResponse();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user