From 98f0cd6e2e9b8c98b68e9694caf515f13227c42f Mon Sep 17 00:00:00 2001 From: Chika Date: Fri, 29 Oct 2021 13:10:28 +0300 Subject: [PATCH] =?UTF-8?q?DYN-488:=20=D0=B4=D0=BE=D1=81=D1=80=D0=BE=D1=87?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=82=D0=B5=D0=BB=D0=B5=D0=BC=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D0=BA=D0=B8,=20=D0=9D=D0=A1=D0=98=D0=91=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D0=BD=D0=B5=D0=BC=20=D0=BF?= =?UTF-8?q?=D0=BB=D0=B0=D1=82=D0=B5=D0=B6=D0=B5,=20=D0=B8=20NI=20=D0=BE?= =?UTF-8?q?=D1=82=20CashflowMSFO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EvoCalculator.Core.Calculation/v1/Columns/NIColumn.cs | 7 ++++--- .../v1/Columns/NSIBBruttoGrColumn.cs | 4 ++-- .../v1/Columns/SumCurrentTLMColumn.cs | 6 +----- .../v1/Managers/Calculation/CalculateByTotalExpected.cs | 2 +- .../v1/Managers/Calculation/CalculateDefault.cs | 8 ++++---- .../v2/Managers/Calculation/CalculateByTotalExpected.cs | 2 +- .../v2/Managers/Calculation/CalculateDefault.cs | 2 +- 7 files changed, 14 insertions(+), 17 deletions(-) diff --git a/EvoCalculator.Core.Calculation/v1/Columns/NIColumn.cs b/EvoCalculator.Core.Calculation/v1/Columns/NIColumn.cs index 80bcbfc..bd9bde1 100644 --- a/EvoCalculator.Core.Calculation/v1/Columns/NIColumn.cs +++ b/EvoCalculator.Core.Calculation/v1/Columns/NIColumn.cs @@ -9,12 +9,13 @@ namespace EvoCalculator.Core.Calculation.v1.Columns { } - public void ComputeValues(PreparedValues preparedValues, BaseColumnWithXIRR cashflowColumn, + public void ComputeValues(PreparedValues preparedValues, BaseColumn 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]; } } } \ No newline at end of file diff --git a/EvoCalculator.Core.Calculation/v1/Columns/NSIBBruttoGrColumn.cs b/EvoCalculator.Core.Calculation/v1/Columns/NSIBBruttoGrColumn.cs index 8bbaf4e..50b8ecd 100644 --- a/EvoCalculator.Core.Calculation/v1/Columns/NSIBBruttoGrColumn.cs +++ b/EvoCalculator.Core.Calculation/v1/Columns/NSIBBruttoGrColumn.cs @@ -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; } diff --git a/EvoCalculator.Core.Calculation/v1/Columns/SumCurrentTLMColumn.cs b/EvoCalculator.Core.Calculation/v1/Columns/SumCurrentTLMColumn.cs index 8bfb6d3..c3969da 100644 --- a/EvoCalculator.Core.Calculation/v1/Columns/SumCurrentTLMColumn.cs +++ b/EvoCalculator.Core.Calculation/v1/Columns/SumCurrentTLMColumn.cs @@ -11,12 +11,8 @@ namespace EvoCalculator.Core.Calculation.v1.Columns public void ComputeValues(BaseColumn 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); } } } \ No newline at end of file diff --git a/EvoCalculator.Core.Calculation/v1/Managers/Calculation/CalculateByTotalExpected.cs b/EvoCalculator.Core.Calculation/v1/Managers/Calculation/CalculateByTotalExpected.cs index 931cec5..742cfdf 100644 --- a/EvoCalculator.Core.Calculation/v1/Managers/Calculation/CalculateByTotalExpected.cs +++ b/EvoCalculator.Core.Calculation/v1/Managers/Calculation/CalculateByTotalExpected.cs @@ -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); diff --git a/EvoCalculator.Core.Calculation/v1/Managers/Calculation/CalculateDefault.cs b/EvoCalculator.Core.Calculation/v1/Managers/Calculation/CalculateDefault.cs index 3577f88..b38eab1 100644 --- a/EvoCalculator.Core.Calculation/v1/Managers/Calculation/CalculateDefault.cs +++ b/EvoCalculator.Core.Calculation/v1/Managers/Calculation/CalculateDefault.cs @@ -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(); @@ -73,7 +73,7 @@ namespace EvoCalculator.Core.Calculation.v1.Managers.Calculation var nsibBruttoGrColumn = new NSIBBruttoGrColumn(preparedValues.Nmper + 1); nsibBruttoGrColumn.ComputeValues(preparedValues); - + var sumColumn = new SumColumn( preparedValues.Nmper + 1 , dateColumn @@ -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); diff --git a/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateByTotalExpected.cs b/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateByTotalExpected.cs index f198443..55c6312 100644 --- a/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateByTotalExpected.cs +++ b/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateByTotalExpected.cs @@ -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); diff --git a/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateDefault.cs b/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateDefault.cs index c709ab0..6cbfcf4 100644 --- a/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateDefault.cs +++ b/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateDefault.cs @@ -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);