Files

30 lines
1.2 KiB
C#
Raw Permalink Normal View History

2020-12-23 16:34:12 +01:00
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>
{
2020-12-27 12:39:25 +01:00
public Task Invoke(IOperationContext context, Func<IOperationContext, Task>? next)
2020-12-23 16:34:12 +01:00
{
var contextData = context.Get<IStatisticsPipelineData>();
2020-12-27 12:39:25 +01:00
if (contextData?.History != null && contextData.History.Length > 1)
2020-12-23 16:34:12 +01:00
{
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]);
}
}
2020-12-27 12:39:25 +01:00
return next != null ? next.Invoke(context) : Task.CompletedTask;
2020-12-23 16:34:12 +01:00
}
}
}