DYN-488: досрочка телематики, НСИБ на последнем платеже, и NI от CashflowMSFO
This commit is contained in:
parent
71dd096a11
commit
98f0cd6e2e
@ -9,12 +9,13 @@ namespace EvoCalculator.Core.Calculation.v1.Columns
|
||||
{
|
||||
}
|
||||
|
||||
public void ComputeValues(PreparedValues preparedValues, BaseColumnWithXIRR cashflowColumn,
|
||||
public void ComputeValues(PreparedValues preparedValues, BaseColumn<decimal> cashflowMSFOColumn,
|
||||
IRRGrColumn irrGrColumn)
|
||||
{
|
||||
Values[1] = preparedValues.NiAtInception;
|
||||
Values[1] = -cashflowMSFOColumn.GetValue(0) - cashflowMSFOColumn.GetValue(1);
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = Values[i - 1] + Values[i - 1] * (decimal)irrGrColumn.Values[i] - cashflowColumn.Values[i];
|
||||
Values[i] = Values[i - 1] + Values[i - 1] * (decimal) irrGrColumn.Values[i] -
|
||||
cashflowMSFOColumn.Values[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -12,8 +12,8 @@ namespace EvoCalculator.Core.Calculation.v1.Columns
|
||||
public void ComputeValues(PreparedValues preparedValues)
|
||||
{
|
||||
Values[1] = 0;
|
||||
for (var i = 2; i < Values.Length; i++)
|
||||
Values[i] = preparedValues.NsibBrutto / (preparedValues.Nmper - 1);
|
||||
for (var i = 2; i < Values.Length - 1; i++)
|
||||
Values[i] = preparedValues.NsibBrutto / (preparedValues.Nmper - 1 - 1);
|
||||
|
||||
Values[0] = Sum;
|
||||
}
|
||||
|
||||
@ -11,12 +11,8 @@ namespace EvoCalculator.Core.Calculation.v1.Columns
|
||||
|
||||
public void ComputeValues(BaseColumn<decimal> tlmGrColumn)
|
||||
{
|
||||
const int FIRST_YEAR_NUM = 13;
|
||||
for (var i = 1; i < Values.Length; i++)
|
||||
if (i < FIRST_YEAR_NUM)
|
||||
Values[i] = tlmGrColumn.Values.Skip(FIRST_YEAR_NUM).Sum(x => x);
|
||||
else
|
||||
Values[i] = tlmGrColumn.Values.Skip(i + 1).Sum(x => x);
|
||||
Values[i] = tlmGrColumn.Values.Skip(i + 1).Sum(x => x);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -178,7 +178,7 @@ namespace EvoCalculator.Core.Calculation.v1.Managers.Calculation
|
||||
irrGrColumn.ComputeValues(dateTempColumn, cashflowMsfoColumn);
|
||||
|
||||
var niColumn = new NIColumn(preparedValues.Nmper + 1);
|
||||
niColumn.ComputeValues(preparedValues, cashflowColumn, irrGrColumn);
|
||||
niColumn.ComputeValues(preparedValues, cashflowMsfoColumn, irrGrColumn);
|
||||
|
||||
var interestColumn = new InterestColumn(preparedValues.Nmper + 1);
|
||||
interestColumn.ComputeValues(irrGrColumn, niColumn);
|
||||
|
||||
@ -17,7 +17,7 @@ namespace EvoCalculator.Core.Calculation.v1.Managers.Calculation
|
||||
|
||||
var validationErrors = new Validation().ValidatePreparedValues(preparedValues);
|
||||
|
||||
if (validationErrors.Count > 0) return new ManagerResult { Errors = validationErrors };
|
||||
if (validationErrors.Count > 0) return new ManagerResult {Errors = validationErrors};
|
||||
|
||||
var constants = new Constants.Calculation();
|
||||
|
||||
@ -178,7 +178,7 @@ namespace EvoCalculator.Core.Calculation.v1.Managers.Calculation
|
||||
irrGrColumn.ComputeValues(dateTempColumn, cashflowMsfoColumn);
|
||||
|
||||
var niColumn = new NIColumn(preparedValues.Nmper + 1);
|
||||
niColumn.ComputeValues(preparedValues, cashflowColumn, irrGrColumn);
|
||||
niColumn.ComputeValues(preparedValues, cashflowMsfoColumn, irrGrColumn);
|
||||
|
||||
var interestColumn = new InterestColumn(preparedValues.Nmper + 1);
|
||||
interestColumn.ComputeValues(irrGrColumn, niColumn);
|
||||
@ -188,7 +188,7 @@ namespace EvoCalculator.Core.Calculation.v1.Managers.Calculation
|
||||
nsibBruttoGrColumn, nsibExpensesColumn);
|
||||
|
||||
if (nsibBruttoGrColumn.Sum != 0)
|
||||
cashflowNsibColumn.ComputeValues((decimal)cashflowLeasingColumn.IRR);
|
||||
cashflowNsibColumn.ComputeValues((decimal) cashflowLeasingColumn.IRR);
|
||||
|
||||
var revenueColumn = new RevenueColumn(preparedValues.Nmper + 1);
|
||||
revenueColumn.ComputeValues(nsibBruttoGrColumn, nsibExpensesColumn, cashflowNsibColumn);
|
||||
|
||||
@ -192,7 +192,7 @@ namespace EvoCalculator.Core.Calculation.v2.Managers.Calculation
|
||||
irrGrColumn.ComputeValues(dateTempColumn, cashflowMsfoColumn);
|
||||
|
||||
var niColumn = new NIColumn(preparedValues.Nmper + 1);
|
||||
niColumn.ComputeValues(preparedValues, cashflowColumn, irrGrColumn);
|
||||
niColumn.ComputeValues(preparedValues, cashflowMsfoColumn, irrGrColumn);
|
||||
|
||||
var interestColumn = new InterestColumn(preparedValues.Nmper + 1);
|
||||
interestColumn.ComputeValues(irrGrColumn, niColumn);
|
||||
|
||||
@ -191,7 +191,7 @@ namespace EvoCalculator.Core.Calculation.v2.Managers.Calculation
|
||||
irrGrColumn.ComputeValues(dateTempColumn, cashflowMsfoColumn);
|
||||
|
||||
var niColumn = new NIColumn(preparedValues.Nmper + 1);
|
||||
niColumn.ComputeValues(preparedValues, cashflowColumn, irrGrColumn);
|
||||
niColumn.ComputeValues(preparedValues, cashflowMsfoColumn, irrGrColumn);
|
||||
|
||||
var interestColumn = new InterestColumn(preparedValues.Nmper + 1);
|
||||
interestColumn.ComputeValues(irrGrColumn, niColumn);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user