using System; using EvoCalculator.Core.Models.Calculation.Interfaces; using EvoCalculator.Core.Models.Calculation.Models; using EvoCalculator.Core.Models.Calculation.Models.Prepared; namespace EvoCalculator.Core.Calculation.Columns { public class SumColumn : BaseColumnWithXIRR { public SumColumn(int count, DateTempColumn dateTempColumn) { base.Values = new double[count]; base.Dates = new DateTime[dateTempColumn.Values.Length]; for (var i = 0; i < dateTempColumn.Values.Length; i++) { base.Dates[i] = dateTempColumn.Values[i]; } } public void ComputeValues(PreparedValues preparedValues, PercentPaymentColumn percentPaymentColumn) { Values[0] = -preparedValues.BaseCost; Values[1] = preparedValues.FirstPaymentSum; Values[2] = 98647.7277641429; for (var i = 3; i < Values.Length - 1; i++) { Values[i] = Values[2] * percentPaymentColumn.Values[i] / 100; } Values[^1] = preparedValues.LastPaymentSum; } } }