using System; using EvoCalculator.Core.Models.Calculation.Interfaces; using EvoCalculator.Core.Models.Calculation.Models.Prepared; namespace EvoCalculator.Core.Calculation.Columns { public class DateTempColumn : IColumn { 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[] 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); } } } }