31 lines
1.6 KiB
C#

using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Columns
{
public class CashflowNPVColumn : BaseColumn<decimal>
{
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);
}
}
}