using System.Linq; using EvoCalculator.Core.Models.Calculation.Models.Prepared; namespace EvoCalculator.Core.Calculation.Columns { public class DeprecationLDColumn : BaseColumnWithSum { 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 ? (decimal) 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] = Sum; } } }