2020-10-20 17:00:46 +03:00

32 lines
1007 B
C#

using System.Linq;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Columns
{
public class DeprecationLDColumn : BaseColumn<double>
{
public DeprecationLDColumn(int count) : base(count)
{
}
public void ComputeValues(PreparedValues preparedValues)
{
Values[1] = 0;
for (var i = 2; i < Values.Length - 1; i++)
{
Values[i] = preparedValues.BalanceHolder == 100000001
? preparedValues.DeprecationTime *
(preparedValues.AcceptSum - Values.Skip(2).Take(i - 1).Sum(x => x)) / 100
: 0;
}
Values[^1] = preparedValues.BalanceHolder == 100000001
? preparedValues.AcceptSum - Values.Skip(2)
.Take(Values.Length - 1)
.Sum(x => x)
: 0;
Values[0] = Values.Skip(1).Sum(x => x);
}
}
}