Account db read operation

This commit is contained in:
Mikhail Shabanov committed 2020-11-01 14:10:57 +01:00
1 parent 91f69a6e39
commit 1c803585e1
7 files changed
+61 -5

No files matched your search

@@ -31,5 +31,7 @@ namespace WotBlitzStatisticsPro.Logic.AccountInformationPipeline
public AccountInfoResponse Response { get; set; }
public AccountInfo DbAccountInfo { get; set; }
}
}
@@ -0,0 +1,19 @@
using System;
using System.Threading.Tasks;
using WotBlitzStatisticsPro.Logic.Pipeline;
namespace WotBlitzStatisticsPro.Logic.AccountInformationPipeline.Operations
{
public class CheckLAstBattleDateOperation : IOperation<AccountInformationPipelineContext>
{
public Task Invoke(AccountInformationPipelineContext context, Func<AccountInformationPipelineContext, Task> next)
{
if (context.DbAccountInfo == null ||
context.DbAccountInfo.LastBattleTime >= context.AccountInfo.LastBattleTime)
{
return next.Invoke(context);
}
return Task.CompletedTask;
}
}
}
@@ -0,0 +1,23 @@
using System;
using System.Threading.Tasks;
using WotBlitzStatisticsPro.DataAccess;
using WotBlitzStatisticsPro.Logic.Pipeline;
namespace WotBlitzStatisticsPro.Logic.AccountInformationPipeline.Operations
{
public class ReadAccountInfoFromDbOperation : IOperation<AccountInformationPipelineContext>
{
private readonly IWargamingAccountDataAccessor _accountDataAccessor;
public ReadAccountInfoFromDbOperation(IWargamingAccountDataAccessor accountDataAccessor)
{
_accountDataAccessor = accountDataAccessor;
}
public async Task Invoke(AccountInformationPipelineContext context, Func<AccountInformationPipelineContext, Task> next)
{
context.DbAccountInfo = await _accountDataAccessor.ReadAccountInfo(context.AccountId);
await next.Invoke(context);
}
}
}