35 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|
|
} |