34 lines
1.0 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |