2020-10-16 16:40:54 +03:00

35 lines
1.1 KiB
C#

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;
}
}
}