2020-10-15 16:23:39 +03:00

34 lines
1.0 KiB
C#

using System;
using EvoCalculator.Core.Models.Calculation.Interfaces;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Columns
{
public class DateTempColumn : IColumn<DateTime>
{
public DateTime[] Values { get; set; }
//TODO: extract 67
public DateTempColumn(int count = 67)
{
Values = new DateTime[count];
}
public void ComputeValues(PreparedValues preparedValues, PreparedPayments preparedPayments,
Constants.Calculation constants,
params IColumn<DateTime>[] columns)
{
Values[0] = preparedValues.DogDate;
Values[1] = Values[0];
Values[2] = preparedValues.PaymentDateNew ?? Values[1].AddMonths(1);
for (var i = 3; i < Values.Length; i++)
{
Values[i] = preparedValues.PaymentDateNew == null
? Values[1].AddMonths(i - 1)
: Values[2].AddMonths(i - 2);
}
}
}
}