31 lines
1.6 KiB
C#
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);
|
|
}
|
|
}
|
|
} |