mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-21 18:37:18 +02:00
30 lines
1.2 KiB
C#
30 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using WotBlitzStatisticsPro.Common.Model;
|
|
using WotBlitzStatisticsPro.Logic.AccountInformationPipeline.OperationContext;
|
|
using WotBlitzStatisticsPro.Logic.Calculations;
|
|
using WotBlitzStatisticsPro.Logic.Pipeline;
|
|
|
|
namespace WotBlitzStatisticsPro.Logic.AccountInformationPipeline.Operations
|
|
{
|
|
public class FillStatisticsDifferenceOperation : IOperation<IOperationContext>
|
|
{
|
|
public Task Invoke(IOperationContext context, Func<IOperationContext, Task>? next)
|
|
{
|
|
var contextData = context.Get<IStatisticsPipelineData>();
|
|
|
|
if (contextData?.History != null && contextData.History.Length > 1)
|
|
{
|
|
contextData.StatisticsHistory = new StatisticsDifference[contextData.History.Length - 1];
|
|
for (int i = 1; i < contextData.History.Length; i++)
|
|
{
|
|
contextData.StatisticsHistory[i - 1] = new StatisticsDifference();
|
|
contextData.StatisticsHistory[i - 1].FillDifference(contextData.History[i - 1], contextData.History[i]);
|
|
}
|
|
}
|
|
|
|
return next != null ? next.Invoke(context) : Task.CompletedTask;
|
|
}
|
|
}
|
|
} |