using EvoCalculator.Core.Models.Calculation.Models.Prepared; namespace EvoCalculator.Core.Calculation.Columns { public class CashflowNPVColumn : BaseColumn { public CashflowNPVColumn(int count) : base(count) { } public void ComputeValues(PreparedValues preparedValues, SumColumn sumColumn, NPVBonusExpensesColumn npvBonusExpensesColumn, AgentComissionExpensesColumn agentComissionExpensesColumn, TaxColumn taxColumn, NSIBExpensesColumn nsibExpensesColumn, NegativeCashflowColumn negativeCashflowColumn, RatExpensesColumn ratExpensesColumn, TransExpensesColumn transExpensesColumn, TLMExpensesColumn tlmExpensesColumn, GPSExpensesColumn gpsExpensesColumn) { Values[0] = -preparedValues.AcquisitionExpenses; Values[1] = sumColumn.GetValue(1) + npvBonusExpensesColumn.GetValue(1) + agentComissionExpensesColumn.GetValue(1) - taxColumn.GetValue(1) + nsibExpensesColumn.GetValue(1); for (var i = 2; i < Values.Length; i++) Values[i] = sumColumn.GetValue(i) + negativeCashflowColumn.GetValue(i) + npvBonusExpensesColumn.GetValue(i) + agentComissionExpensesColumn.GetValue(i) + ratExpensesColumn.GetValue(i) - taxColumn.GetValue(i) - transExpensesColumn.GetValue(i) + nsibExpensesColumn.GetValue(i) + tlmExpensesColumn.GetValue(i) + gpsExpensesColumn.GetValue(i); } } }