add postValues

This commit is contained in:
Chika 2020-10-28 16:00:43 +03:00
parent afd0ca1d13
commit 79a86d94d2
39 changed files with 1038 additions and 202 deletions

View File

@ -109,6 +109,18 @@
</e>
</e>
</e>
<e p="Post" t="Include">
<e p="BaseCost.cs" t="Include" />
<e p="BasePostValue.cs" t="Include" />
<e p="BonusBase.cs" t="Include" />
<e p="BonusResult.cs" t="Include" />
<e p="NPVNI.cs" t="Include" />
<e p="PostValues.cs" t="Include" />
<e p="PriceUP.cs" t="Include" />
<e p="PriceUP_PR.cs" t="Include" />
<e p="PriceUP_Year.cs" t="Include" />
<e p="PriceUP_Year_PR.cs" t="Include" />
</e>
</e>
<e p="EvoCalculator.Core.Constants" t="IncludeRecursive">
<e p="bin" t="ExcludeRecursive" />
@ -144,8 +156,8 @@
<e p="Models" t="Include">
<e p="Flow.cs" t="Include" />
<e p="Prepared" t="Include">
<e p="PreparedParams.cs" t="Include" />
<e p="PreparedPayments.cs" t="Include" />
<e p="PreparedValues.cs" t="Include" />
</e>
<e p="Request" t="Include">
<e p="RequestCalculation.cs" t="Include" />
@ -230,6 +242,16 @@
<e p="FinanceFormulas" t="Include">
<e p="FinanceFormulasTests.cs" t="Include" />
</e>
<e p="Post" t="Include">
<e p="BaseCost.cs" t="Include" />
<e p="BonusBase.cs" t="Include" />
<e p="BonusResult.cs" t="Include" />
<e p="NPVNI.cs" t="Include" />
<e p="PriceUP.cs" t="Include" />
<e p="PriceUP_PR.cs" t="Include" />
<e p="PriceUP_Year.cs" t="Include" />
<e p="PriceUP_Year_PR_Tests.cs" t="Include" />
</e>
</e>
<e p="EvoCalculator.Core.Tests.csproj" t="IncludeRecursive" />
<e p="obj" t="ExcludeRecursive">

View File

@ -14,29 +14,44 @@
</component>
<component name="ChangeListManager">
<list default="true" id="2c3b0650-5589-43d4-b4b7-2979612bb30f" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithGoalSeek.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOFinal2Column.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOFinalColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVFinal2Column.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVFinalColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusSumColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExtraBonusSumColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVFinal2Column.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVFinalColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RevenueColumn.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOFinal2.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal2.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNSIB.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DirectorBonusSum.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal2.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Revenue.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/BaseCost.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/BasePostValue.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/BonusBase.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/BonusResult.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/NPVNI.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PostValues.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP_PR.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP_Year.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP_Year_PR.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/BaseCost.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/BonusBase.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/BonusResult.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/NPVNI.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUP_PR.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUP_Year.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUP_Year_PR_Tests.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUp.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/contentModel.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/contentModel.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EvoCalculator.Core/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusSumColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusSumColumn.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExtraBonusSumColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExtraBonusSumColumn.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVBonusExpensesColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVBonusExpensesColumn.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedValues.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptSumTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptSumTests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowLeasingTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowLeasingTests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOTests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPV.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPV.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowTests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DirectorBonusSum.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DirectorBonusSum.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumTest.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumTest.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumWithVatTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumWithVatTests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TaxColumnTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TaxColumnTests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/VATColumnTests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/VATColumnTests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Controller/CalculationControllerV1Tests.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Controller/CalculationControllerV1Tests.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
@ -52,6 +67,7 @@
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.FinanceFormulas/XIRR.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/af/6846d1ce/GoalSeek.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.Constants/Calculation.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PostValues.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/9152434B-0FAC-463B-87F2-DD9AF798817F/2e/201d3c41/Assert.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/8a/efc30f2b/IGoalSeekAlgorithm.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/F680C866-D120-4163-9634-EBD842255BE9/1BB/ControllerAttribute.cs" root0="SKIP_HIGHLIGHTING" />
@ -61,68 +77,71 @@
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/18D5A60D-361A-4AFD-A431-F772FA87FCC3/d9/b0109e6d/TestInvoker`1.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/92/f4ccca9d/GoalSeekResult.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/F680C866-D120-4163-9634-EBD842255BE9/3D/HttpPostAttribute.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP_Year_PR.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/F680C866-D120-4163-9634-EBD842255BE9/24/ControllerBase.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP_Year.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/9D995D4A-0EBE-4A93-85A6-BE06CB7C70EE/f6/ada9c10c/FactAttribute.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/558EFF1A-6D86-468A-B5D3-8B990CD1FB1A/C/Controller.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/d6/c014ca2d/GoalSeekOptions.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/E2E1F770-6781-48FC-97C9-82BA075D5898/89/f5bc57e5/Trident.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/AD61CA47-F8B7-4CC6-93A0-BA44CC73B5C7/D0/TimeSpan.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/31F94AF4-0455-4C4C-BD4F-AB58A9F2D1BF/2C/Sum.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP.cs" root0="FORCE_HIGHLIGHTING" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPV.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVWeightColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVWeight.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPV.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Sum.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrent.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentNegativeColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentNegative.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/IRRGrColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/IRRGr.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NIColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NIColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NI.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Interest.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/InterestColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentInterestColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentInterest.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumCurrentTLM.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumCurrentTLMColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumRepaymentColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumRepaymentColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExtraBonusSumColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/ArrayComparer.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOFinal.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOFinalColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/CashflowNPVFinal.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVFinalColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVFinalColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusSumColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DirectorBonusSum.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOFinal2.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowMSFOFinal2Column.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPVFinal2.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNPVFinal2Column.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVFinal2.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVFinal2Column.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/BaseColumnWithGoalSeek.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/BaseColumnWithGoalSeek.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/CashflowNSIBColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNSIB.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/RevenueColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/Revenue.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/KaskoNmperGrColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Post/BaseCostValue.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Post/BaseCost.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedValues.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Post/BasePostValue.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/PostValues/BaseCost.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PreparedParams.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/PostValues/BasePostValue.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/PostValues/BonusBase.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/PostValues/BaseCost.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/PostValues/BonusBase.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Prepared/PostValues.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Post/PostValuess.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/BaseCost.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/BonusBase.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Models/Calculation/Models/Post/PostValues.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/BasePostValue.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumTest.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Controller/CalculationControllerV1Tests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/DirectorBonusSumColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/ExtraBonusSumColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVBonusExpensesColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/AcceptSumTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowLeasingTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowMSFOTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowNPV.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/CashflowTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/DirectorBonusSum.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/ExtraBonusSum.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/NPVBonusExpensesTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/SumWithVatTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/TaxColumnTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Columns/VATColumnTests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/SumColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUp.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP_PR.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUP_PR.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUP_Year.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP_Year.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUP_Year_PR.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PriceUP_Year_PR.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/PriceUP_Year_PR_Tests.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/NPVNI.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Columns/NPVColumn.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/NPVNI.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PostValues.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Tests/Calculation/Post/BonusResult.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/BonusResult.cs" />
<option value="$PROJECT_DIR$/EvoCalculator.Core/Controllers/v1/CalculationController.cs" />
</list>
</option>
</component>
@ -142,7 +161,8 @@
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="com.intellij.ide.scratch.LRUPopupBuilder$1/New Scratch File" value="C#" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="settings.editor.selected.configurable" value="RiderCSharpFileTemplatesSettingsId" />
<property name="settings.editor.selected.configurable" value="inlay.hints.TypeScript" />
<property name="settings.editor.splitter.proportion" value="0.19789612" />
<property name="vue.rearranger.settings.migration" value="true" />
</component>
<component name="RunManager" selected=".NET Launch Settings Profile.EvoCalculator.Core">
@ -200,7 +220,11 @@
<workItem from="1603451569606" duration="6133000" />
<workItem from="1603639854245" duration="10211000" />
<workItem from="1603704776782" duration="11419000" />
<workItem from="1603792346415" duration="6565000" />
<workItem from="1603792346415" duration="6785000" />
<workItem from="1603814840650" duration="5494000" />
<workItem from="1603874606819" duration="32000" />
<workItem from="1603881223933" duration="3376000" />
<workItem from="1603884647671" duration="5113000" />
</task>
<task id="LOCAL-00001" summary="rename: flow">
<created>1602593830686</created>
@ -244,7 +268,14 @@
<option name="project" value="LOCAL" />
<updated>1603717567220</updated>
</task>
<option name="localTasksCounter" value="7" />
<task id="LOCAL-00007" summary="last columns(!!!)">
<created>1603799116058</created>
<option name="number" value="00007" />
<option name="presentableId" value="LOCAL-00007" />
<option name="project" value="LOCAL" />
<updated>1603799116058</updated>
</task>
<option name="localTasksCounter" value="8" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -273,7 +304,8 @@
<MESSAGE value="refactor types: double to decimal" />
<MESSAGE value="fix InsuranceBonusExpensesColumn" />
<MESSAGE value="new column type | new columns" />
<option name="LAST_COMMIT_MESSAGE" value="new column type | new columns" />
<MESSAGE value="last columns(!!!)" />
<option name="LAST_COMMIT_MESSAGE" value="last columns(!!!)" />
</component>
<component name="WindowStateProjectService">
<state x="1077" y="489" key="#Web_Browsers" timestamp="1602508282238">
@ -288,94 +320,94 @@
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="1108" y="416" key="#com.intellij.ide.ui.customization.CustomizableActionsPanel.FindAvailableActionsDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603119675236" />
<state x="1027" y="545" key="ANALYSIS_DLG_com.jetbrains.rider.actions.impl.cleanup.RiderCodeCleanupAction$actionPerformed$dlg$1" timestamp="1603798873159">
<state x="1027" y="545" key="ANALYSIS_DLG_com.jetbrains.rider.actions.impl.cleanup.RiderCodeCleanupAction$actionPerformed$dlg$1" timestamp="1603798988775">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="1027" y="545" key="ANALYSIS_DLG_com.jetbrains.rider.actions.impl.cleanup.RiderCodeCleanupAction$actionPerformed$dlg$1/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798873159" />
<state x="1027" y="545" key="ANALYSIS_DLG_com.jetbrains.rider.actions.impl.cleanup.RiderCodeCleanupAction$actionPerformed$dlg$1/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798988775" />
<state width="535" height="702" key="DebuggerActiveHint" timestamp="1603716624018">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="535" height="702" key="DebuggerActiveHint/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603716624018" />
<state width="2517" height="481" key="GridCell.Tab.0.bottom" timestamp="1603798181712">
<state width="2517" height="481" key="GridCell.Tab.0.bottom" timestamp="1603799185897">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
<state width="2517" height="481" key="GridCell.Tab.0.center" timestamp="1603798181712">
<state width="2517" height="481" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.0.center" timestamp="1603799185897">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
<state width="2517" height="481" key="GridCell.Tab.0.left" timestamp="1603798181712">
<state width="2517" height="481" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.0.left" timestamp="1603799185896">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
<state width="2517" height="481" key="GridCell.Tab.0.right" timestamp="1603798181712">
<state width="2517" height="481" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185896" />
<state width="2517" height="481" key="GridCell.Tab.0.right" timestamp="1603799185897">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
<state width="2517" height="481" key="GridCell.Tab.1.bottom" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.1.bottom" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.1.center" timestamp="1603798181712">
<state width="2517" height="481" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.1.center" timestamp="1603799185897">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
<state width="2517" height="481" key="GridCell.Tab.1.left" timestamp="1603798181712">
<state width="2517" height="481" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.1.left" timestamp="1603799185897">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
<state width="2517" height="481" key="GridCell.Tab.1.right" timestamp="1603798181712">
<state width="2517" height="481" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.1.right" timestamp="1603799185897">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181712" />
<state width="2517" height="481" key="GridCell.Tab.2.bottom" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.2.bottom" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.2.center" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.2.center" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.2.left" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.2.left" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.2.right" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.2.right" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.3.bottom" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.3.bottom" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.3.center" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.3.center" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.3.left" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.3.left" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.3.right" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.3.right" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.4.bottom" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.bottom" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.4.center" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.center" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.4.left" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.left" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.4.right" timestamp="1603798181713">
<state width="2517" height="481" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.right" timestamp="1603799185898">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state width="2517" height="481" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603798181713" />
<state width="2517" height="481" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799185898" />
<state x="872" y="432" key="Rider.ProjectTemplateDialog.Size" timestamp="1602854431119">
<screen x="0" y="0" width="2560" height="1400" />
</state>
@ -384,14 +416,14 @@
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="1108" y="385" key="RiderGenerateDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603797366348" />
<state x="1078" y="410" key="RollbackChangesDialog" timestamp="1603457630228">
<state x="1078" y="410" key="RollbackChangesDialog" timestamp="1603882876984">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="1078" y="410" key="RollbackChangesDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603457630228" />
<state x="302" y="107" width="1537" height="899" key="SettingsEditor" timestamp="1603793626448">
<state x="1078" y="410" key="RollbackChangesDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603882876984" />
<state x="510" y="231" width="1537" height="899" key="SettingsEditor" timestamp="1603888918096">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="302" y="107" width="1537" height="899" key="SettingsEditor/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603793626448" />
<state x="510" y="231" width="1537" height="899" key="SettingsEditor/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603888918096" />
<state width="498" height="446" key="SwitcherDM" timestamp="1603454051875">
<screen x="0" y="0" width="2560" height="1400" />
</state>
@ -400,26 +432,26 @@
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="92" y="92" width="2376" height="1216" key="VCS.FileHistoryDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603709850962" />
<state x="872" y="433" key="Vcs.Push.Dialog.v2" timestamp="1603717569743">
<state x="872" y="433" key="Vcs.Push.Dialog.v2" timestamp="1603799117994">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="872" y="433" key="Vcs.Push.Dialog.v2/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603717569743" />
<state x="872" y="433" key="Vcs.Push.Dialog.v2/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603799117994" />
<state x="92" y="92" width="2376" height="1216" key="com.intellij.history.integration.ui.views.DirectoryHistoryDialog" timestamp="1603456576335">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="92" y="92" width="2376" height="1216" key="com.intellij.history.integration.ui.views.DirectoryHistoryDialog/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603456576335" />
<state x="897" y="337" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser" timestamp="1603793502729">
<state x="897" y="337" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser" timestamp="1603888517066">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="897" y="337" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603793502729" />
<state x="897" y="337" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603888517066" />
<state x="898" y="0" width="1161" height="1387" key="dock-window-1" timestamp="1603198596935">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="898" y="0" width="1161" height="1387" key="dock-window-1/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603198596935" />
<state x="759" y="244" width="1137" height="959" key="find.popup" timestamp="1603797436819">
<state x="759" y="244" width="1137" height="959" key="find.popup" timestamp="1603884888731">
<screen x="0" y="0" width="2560" height="1400" />
</state>
<state x="759" y="244" width="1137" height="959" key="find.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603797436819" />
<state x="759" y="244" width="1137" height="959" key="find.popup/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603884888731" />
<state x="936" y="330" key="run.anything.popup" timestamp="1603290743275">
<screen x="0" y="0" width="2560" height="1400" />
</state>
@ -450,7 +482,7 @@
<line>256</line>
<properties documentPath="C:\Users\Chika\Projects\EvoCalculator.Core\EvoCalculator.Core.Tests\Calculation\Columns\InsuranceBonusExpensesTests.cs" initialLine="256">
<startOffsets>
<option value="6715" />
<option value="6750" />
</startOffsets>
<endOffsets>
<option value="6787" />

View File

@ -1,4 +1,5 @@
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Columns
{
@ -8,9 +9,9 @@ namespace EvoCalculator.Core.Calculation.Columns
{
}
public void ComputeValues(PreparedValues preparedValues)
public void ComputeValues(PreparedValues preparedValues, PostValues postValues)
{
Values[2] = -preparedValues.BonusBase * (decimal) preparedValues.DirectorBonus *
Values[2] = -postValues.BonusBase.Value * (decimal) preparedValues.DirectorBonus *
(decimal) (1 + preparedValues.SalaryRate) *
(decimal) (1 + preparedValues.MarketRate + preparedValues.DistrictRate);
Values[0] = Sum;

View File

@ -1,4 +1,5 @@
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Columns
{
@ -8,10 +9,11 @@ namespace EvoCalculator.Core.Calculation.Columns
{
}
public void ComputeValues(PreparedValues preparedValues, CashflowMSFOColumn cashflowMsfoColumn)
public void ComputeValues(PreparedValues preparedValues, CashflowMSFOColumn cashflowMsfoColumn,
PostValues postValues)
{
Values[2] = cashflowMsfoColumn.Nominal >= preparedValues.IRR_MSFO_Plan
? -1 * preparedValues.BonusBase *
? -1 * postValues.BonusBase.Value *
(decimal) (cashflowMsfoColumn.Nominal / preparedValues.IRR_MSFO_Plan - 1) *
(decimal) preparedValues.ExtraBonus * (decimal) (1 + preparedValues.SalaryRate) *
(decimal) (1 + preparedValues.MarketRate + preparedValues.DistrictRate)

View File

@ -1,4 +1,5 @@
using System;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Columns
@ -9,7 +10,7 @@ namespace EvoCalculator.Core.Calculation.Columns
{
}
public void ComputeValues(PreparedValues preparedValues)
public void ComputeValues(PreparedValues preparedValues, PostValues postValues)
{
Values[1] = -1 * (preparedValues.RatBonus + preparedValues.NsBonus + preparedValues.NsibBonus) *
(decimal) (1 + preparedValues.SalaryRate) *
@ -17,7 +18,7 @@ namespace EvoCalculator.Core.Calculation.Columns
Values[2] = preparedValues.BonusFix > 0
? -preparedValues.BonusFix
: -1 * preparedValues.BonusBase * Convert.ToDecimal(preparedValues.Bonus) *
: -1 * postValues.BonusBase.Value * Convert.ToDecimal(preparedValues.Bonus) *
(decimal) (1 + preparedValues.SalaryRate) *
(decimal) (1 + preparedValues.MarketRate + preparedValues.DistrictRate);

View File

@ -1,4 +1,5 @@
using System;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using TridentGoalSeek;
@ -8,13 +9,15 @@ namespace EvoCalculator.Core.Calculation.Columns
{
private readonly PercentPaymentColumn _percentPaymentColumn;
private readonly PreparedValues _preparedValues;
private readonly PostValues _postValues;
public SumColumn(int count, DateTempColumn dateTempColumn
, PreparedValues preparedValues
, PercentPaymentColumn percentPaymentColumn) : base(count, dateTempColumn)
, PercentPaymentColumn percentPaymentColumn, PostValues postValues) : base(count, dateTempColumn)
{
_preparedValues = preparedValues;
_percentPaymentColumn = percentPaymentColumn;
_postValues = postValues;
}
public override decimal Calculate(decimal inputVariable)
@ -25,7 +28,7 @@ namespace EvoCalculator.Core.Calculation.Columns
protected override void FillValues(decimal x)
{
Values[0] = -_preparedValues.BaseCost;
Values[0] = -_postValues.BaseCost.Value;
Values[1] = _preparedValues.FirstPaymentSum;
for (var i = 2; i < Values.Length - 1; i++) Values[i] = x * (decimal) _percentPaymentColumn.Values[i] / 100;
@ -39,7 +42,7 @@ namespace EvoCalculator.Core.Calculation.Columns
goalSeek.SeekResult(requiredValue,
new GoalSeekOptions(
startingStabPoint: Convert.ToDecimal(
(_preparedValues.BaseCost - _preparedValues.FirstPaymentSum) /
(_postValues.BaseCost.Value - _preparedValues.FirstPaymentSum) /
_preparedValues.Nmper)
, tineExplorePercentage: 10
// , maximumAttempts: 10000

View File

@ -0,0 +1,19 @@
using System;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Post
{
public class BaseCost : BasePostValue<decimal>
{
public void ComputeValue(PreparedValues preparedValues, KaskoNmperGrColumn kaskoNmperGrColumn,
TLM_GrColumn tlmGrColumn, GPS_GrColumn gpsGrColumn)
{
Value = preparedValues.PlPrice + preparedValues.InsuranceOsago + Math.Abs(kaskoNmperGrColumn.Values[0])
+ Math.Abs(tlmGrColumn.Values[0]) + Math.Abs(gpsGrColumn.Values[0]) + preparedValues.Rats +
preparedValues.Registration + preparedValues.TrackerCost +
preparedValues.TLMCost + preparedValues.TransportTaxGr * (decimal) preparedValues.Leasing0K +
preparedValues.NsibBrutto;
}
}
}

View File

@ -0,0 +1,7 @@
namespace EvoCalculator.Core.Calculation.Post
{
public class BasePostValue<T>
{
public T Value { get; set; }
}
}

View File

@ -0,0 +1,15 @@
using System;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Post
{
public class BonusBase : BasePostValue<decimal>
{
public void ComputeValue(PreparedValues preparedValues, KaskoBonusGrSumColumn kaskoBonusGrSumColumn)
{
Value = preparedValues.PlPrice + preparedValues.InsuranceOsago + Math.Abs(kaskoBonusGrSumColumn.Values[0]) -
preparedValues.Discount - preparedValues.ComissionRub - preparedValues.FirstPaymentSum;
}
}
}

View File

@ -0,0 +1,16 @@
using System;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Post
{
public class BonusResult : BasePostValue<decimal>
{
public void ComputeValue(PreparedValues preparedValues, NPVBonusExpensesColumn npvBonusExpensesColumn)
{
Value = Math.Abs(npvBonusExpensesColumn.Values[0]) -
Math.Abs(npvBonusExpensesColumn.Values[0]) * (decimal) preparedValues.SalaryRate /
(decimal) (1 + preparedValues.SalaryRate);
}
}
}

View File

@ -0,0 +1,14 @@
using System.Linq;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Post
{
public class NPVNI : BasePostValue<double>
{
public void ComputeValue(PreparedValues preparedValues, NPVColumn npvColumn)
{
Value = npvColumn.Values.Sum(x => (double) x) / (double) preparedValues.NpvBase;
}
}
}

View File

@ -0,0 +1,27 @@
namespace EvoCalculator.Core.Calculation.Post
{
public class PostValues
{
public BaseCost BaseCost;
public BonusBase BonusBase;
public PriceUP PriceUP;
public PriceUP_PR PriceUP_PR;
public PriceUP_Year PriceUP_Year;
public PriceUP_Year_PR PriceUP_Year_PR;
public NPVNI NPVNI;
public BonusResult BonusResult;
public PostValues()
{
BaseCost = new BaseCost();
BonusBase = new BonusBase();
PriceUP = new PriceUP();
PriceUP_PR = new PriceUP_PR();
PriceUP_Year = new PriceUP_Year();
PriceUP_Year_PR = new PriceUP_Year_PR();
NPVNI = new NPVNI();
BonusResult = new BonusResult();
}
}
}

View File

@ -0,0 +1,14 @@
using System.Linq;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Post
{
public class PriceUP : BasePostValue<decimal>
{
public void ComputeValue(PreparedValues preparedValues, SumColumn sumColumn)
{
Value = sumColumn.Values.Skip(1).Sum(x => x) - preparedValues.PriceUpTotal;
}
}
}

View File

@ -0,0 +1,12 @@
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Post
{
public class PriceUP_PR : BasePostValue<double>
{
public void ComputeValue(PreparedValues preparedValues, PostValues postValues)
{
Value = (double) postValues.PriceUP.Value / (double) preparedValues.PriceUpTotal;
}
}
}

View File

@ -0,0 +1,12 @@
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Post
{
public class PriceUP_Year : BasePostValue<decimal>
{
public void ComputeValue(PreparedValues preparedValues, PostValues postValues)
{
Value = postValues.PriceUP.Value * 12 / preparedValues.Nmper;
}
}
}

View File

@ -0,0 +1,12 @@
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Post
{
public class PriceUP_Year_PR : BasePostValue<double>
{
public void ComputeValue(PreparedValues preparedValues, PostValues postValues)
{
Value = (double) postValues.PriceUP_Year.Value / (double) preparedValues.PriceUpTotal;
}
}
}

View File

@ -9,7 +9,7 @@ namespace EvoCalculator.Core.Models.Calculation.Models.Prepared
public double IrrExpected { get; set; }
public double NpvniExpected { get; set; }
public double TotalExpected { get; set; }
public bool Leasing0K { get; set; }
public double Leasing0K { get; set; }
public double LoanRate { get; set; }
public int BalanceHolder { get; set; }
public DateTime DogDate { get; set; }
@ -85,9 +85,7 @@ namespace EvoCalculator.Core.Models.Calculation.Models.Prepared
public decimal ImporterSum { get; set; }
public decimal CalculationCost { get; set; }
public decimal PriceUpTotal { get; set; }
public decimal BaseCost { get; set; }
public decimal AcquisitionExpenses { get; set; }
public decimal BonusBase { get; set; }
public decimal NpvBase { get; set; }
public decimal TLMCost { get; set; }
public double IRR_MSFO_Plan { get; set; }

View File

@ -91,7 +91,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
}
};
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, null, null)
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, null, null, null)
{
Values = new[]
{

View File

@ -90,7 +90,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
}
};
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues, null)
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues, null, null)
{
Values = new[]
{

View File

@ -90,7 +90,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
}
};
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues, null)
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues, null, null)
{
Values = new[]
{

View File

@ -91,7 +91,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
};
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues, null)
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues, null, null)
{
Values = new[]
{

View File

@ -91,7 +91,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
};
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues,
new PercentPaymentColumn(preparedValues.Nmper + 1))
new PercentPaymentColumn(preparedValues.Nmper + 1), null)
{
Values = new[]
{

View File

@ -1,4 +1,5 @@
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
@ -12,15 +13,22 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
var preparedValues = new PreparedValues
{
Nmper = 25,
BonusBase = 1873191.66666667m,
DirectorBonus = 0.003,
SalaryRate = 0.3,
MarketRate = 0.01,
DistrictRate = 0.02
};
var postValues = new PostValues()
{
BonusBase = new BonusBase()
{
Value = 1873191.66666667m
}
};
var directorBonusSumColumn = new DirectorBonusSumColumn(preparedValues.Nmper + 1);
directorBonusSumColumn.ComputeValues(preparedValues);
directorBonusSumColumn.ComputeValues(preparedValues, postValues);
var expected = new[]

View File

@ -1,5 +1,6 @@
using System;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
@ -14,7 +15,6 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
{
Nmper = 25,
IRR_MSFO_Plan = 0.05,
BonusBase = 1873191.66666667m,
ExtraBonus = 0.00764256319811875,
SalaryRate = 0,
MarketRate = 0,
@ -128,8 +128,16 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
}
};
var postValues = new PostValues()
{
BonusBase = new BonusBase()
{
Value = 1873191.66666667m
}
};
var extraBonusSumColumn = new ExtraBonusSumColumn(preparedValues.Nmper + 1);
extraBonusSumColumn.ComputeValues(preparedValues, cashflowMsfoColumn);
extraBonusSumColumn.ComputeValues(preparedValues, cashflowMsfoColumn, postValues);
var expected = new[]

View File

@ -1,4 +1,5 @@
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
@ -18,14 +19,21 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
NsBonus = 90.00m,
NsibBonus = 97.014m,
BonusFix = 0.00m,
BonusBase = 2003933.33333333m,
Bonus = 0.011,
Nmper = 30
};
var postValues = new PostValues()
{
BonusBase = new BonusBase()
{
Value = 2003933.33333333m
}
};
var npvBonusExpensesColumn = new NPVBonusExpensesColumn(preparedValues.Nmper + 1);
npvBonusExpensesColumn.ComputeValues(preparedValues);
npvBonusExpensesColumn.ComputeValues(preparedValues, postValues);
var expected = new[]
{
@ -79,14 +87,20 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
NsBonus = 90.00m,
NsibBonus = 97.014m,
BonusFix = 20000.00m,
BonusBase = 2003933.33333333m,
Bonus = 0.011,
Nmper = 30
};
var postValues = new PostValues()
{
BonusBase = new BonusBase()
{
Value = 2003933.33333333m
}
};
var npvBonusExpensesColumn = new NPVBonusExpensesColumn(preparedValue.Nmper + 1);
npvBonusExpensesColumn.ComputeValues(preparedValue);
npvBonusExpensesColumn.ComputeValues(preparedValue, postValues);
var expected = new[]
{

View File

@ -1,5 +1,6 @@
using System;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
@ -13,7 +14,6 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
var preparedValues =
new PreparedValues
{
BaseCost = 2842960.70661055m,
FirstPaymentSum = 636000,
Nmper = 30,
LastPaymentSum = 25440,
@ -169,11 +169,19 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
25440
};
var postValues = new PostValues()
{
BaseCost = new BaseCost()
{
Value = 2842960.70661055m
},
};
var sumColumn = new SumColumn(
preparedValues.Nmper + 1
, dateTempColumn
, preparedValues
, percentPaymentColumn);
, percentPaymentColumn, postValues);
sumColumn.ComputeValues(Convert.ToDecimal(preparedValues.IrrExpected));
var values = sumColumn.Values;
Assert.Equal(expected, values, new DecimalArrayComparer(100));
@ -185,7 +193,6 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
var preparedValues =
new PreparedValues
{
BaseCost = 2500000,
FirstPaymentSum = 625000,
Nmper = 12,
LastPaymentSum = 25000,
@ -299,11 +306,19 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
25000
};
var postValues = new PostValues()
{
BaseCost = new BaseCost()
{
Value = 2500000
},
};
var sumColumn = new SumColumn(
preparedValues.Nmper + 1
, dateTempColumn
, preparedValues
, percentPaymentColumn);
, percentPaymentColumn, postValues);
sumColumn.ComputeValues(Convert.ToDecimal(preparedValues.IrrExpected));
var values = sumColumn.Values;
Assert.Equal(expected, values, new DecimalArrayComparer(100));
@ -315,7 +330,6 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
var preparedValues =
new PreparedValues
{
BaseCost = 2586532.79187453m,
FirstPaymentSum = 805000,
Nmper = 16,
LastPaymentSum = 23000,
@ -437,11 +451,19 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
23000
};
var postValues = new PostValues()
{
BaseCost = new BaseCost()
{
Value = 2586532.79187453m
},
};
var sumColumn = new SumColumn(
preparedValues.Nmper + 1
, dateTempColumn
, preparedValues
, percentPaymentColumn);
, percentPaymentColumn, postValues);
sumColumn.ComputeValues(Convert.ToDecimal(preparedValues.IrrExpected));
var values = sumColumn.Values;
Assert.Equal(expected, values, new DecimalArrayComparer(100));

View File

@ -17,7 +17,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
var dateTempColumn = new DateTempColumn(67);
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, null, null)
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, null, null, null)
{
Values = new[]
{

View File

@ -15,7 +15,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
};
var sumColumn = new SumColumn(preparedValues.Nmper + 1, new DateTempColumn(preparedValues.Nmper + 1),
preparedValues, new PercentPaymentColumn(preparedValues.Nmper + 1))
preparedValues, new PercentPaymentColumn(preparedValues.Nmper + 1), null)
{
Values = new[]
{

View File

@ -17,7 +17,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Columns
var dateTempColumn = new DateTempColumn(67);
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, null, null)
var sumColumn = new SumColumn(preparedValues.Nmper + 1, dateTempColumn, null, null, null)
{
Values = new[]
{

View File

@ -19,7 +19,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Controller
IrrExpected = 0.23,
NpvniExpected = 0.05,
TotalExpected = 0,
Leasing0K = true,
Leasing0K = 1,
LoanRate = 0.07,
BalanceHolder = 100000000,
DogDate = new DateTime(2020, 10, 12),
@ -86,8 +86,9 @@ namespace EvoCalculator.Core.Tests.Calculation.Controller
AcquisitionExpenses = 2283678,
NpvBase = 1480794.596m,
NiAtInception = 19166.6666666667m,
BonusBase = 1513378.6m,
BaseCost = 2586532.79187453m,
DirectorBonus = 0.003,
ExtraBonus = 0.008,
IRR_MSFO_Plan = 0.05
};
var preparedPayments = new PreparedPayments()
@ -271,7 +272,7 @@ namespace EvoCalculator.Core.Tests.Calculation.Controller
IrrExpected = 0.22,
NpvniExpected = 0.05,
TotalExpected = 0,
Leasing0K = true,
Leasing0K = 1,
LoanRate = 0.07,
BalanceHolder = 100000001,
DogDate = new DateTime(2020, 10, 22),
@ -338,8 +339,9 @@ namespace EvoCalculator.Core.Tests.Calculation.Controller
AcquisitionExpenses = 3469678,
NpvBase = 2597599.94864m,
NiAtInception = 19166.6666666667m,
BonusBase = 2548108,
BaseCost = 3689559.59284717m,
DirectorBonus = 0.003,
ExtraBonus = 0.008,
IRR_MSFO_Plan = 0.05
};
var preparedPayments = new PreparedPayments()

View File

@ -0,0 +1,131 @@
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Post
{
public class BaseCostTest
{
[Fact]
public void BaseCostTest1()
{
var preparedValues = new PreparedValues()
{
PlPrice = 2500000,
InsuranceOsago = 30000,
Rats = 12000,
Registration = 0,
TrackerCost = 15000,
TransportTaxGr = 0,
Leasing0K = 1,
NsibBrutto = 26730.2083333333m,
TLMCost = 20000
};
var KaskoNmperGrColumn = new KaskoNmperGrColumn(preparedValues.Nmper + 1, new DateTempColumn(0), 0)
{
Values = new[]
{
-97856.7708333333m,
53000m,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
57416.6666666667m,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
}
};
var TLM_GrColumn = new TLM_GrColumn(preparedValues.Nmper + 1, new DateTempColumn(0), 0)
{
Values = new[]
{
-17757.5461595619m,
0,
1800,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
900,
}
};
var GPS_GrColumn = new GPS_GrColumn(preparedValues.Nmper + 1, new DateTempColumn(0), 0)
{
Values = new[]
{
-19730.6068439577m,
0,
2000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
1000,
}
};
var BaseCost = new BaseCost();
BaseCost.ComputeValue(preparedValues, KaskoNmperGrColumn, TLM_GrColumn, GPS_GrColumn);
Assert.Equal(2739075.13217019m, BaseCost.Value, new DecimalArrayComparer());
}
}
}

View File

@ -0,0 +1,62 @@
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Post
{
public class BonusBaseTests
{
[Fact]
public void BonusBaseTest1()
{
var preparedValues = new PreparedValues()
{
PlPrice = 2500000m,
InsuranceOsago = 30000m,
Discount = 0,
ComissionRub = 125000,
FirstPaymentSum = 625000
};
var KaskoBonusGrSumColumn = new KaskoBonusGrSumColumn(preparedValues.Nmper + 1)
{
Values = new[]
{
93191.6666666667m,
53000m,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
40191.6666666667m,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
}
};
var BonusBase = new BonusBase();
BonusBase.ComputeValue(preparedValues, KaskoBonusGrSumColumn);
Assert.Equal(1873191.66666667m, BonusBase.Value, new DecimalArrayComparer());
}
}
}

View File

@ -0,0 +1,59 @@
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Post
{
public class BonusResultTests
{
[Fact]
public void BonusResultTest1()
{
var preparedValues = new PreparedValues()
{
SalaryRate = 0.3
};
var NPVBonusExpensesColumn = new NPVBonusExpensesColumn(preparedValues.Nmper + 1)
{
Values = new[]
{
-29266.5425270833m,
-1676.30246875m,
-27590.2400583333m,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
}
};
var bonusResult = new BonusResult();
bonusResult.ComputeValue(preparedValues, NPVBonusExpensesColumn);
Assert.Equal(22512.7250208333m, bonusResult.Value, new DecimalArrayComparer());
}
}
}

View File

@ -0,0 +1,58 @@
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Post
{
public class NPVNITests
{
[Fact]
public void PriceUP_Year_PRTest1()
{
var preparedValues = new PreparedValues()
{
NpvBase = 1884609.49m
};
var NPVColumn = new NPVColumn(preparedValues.Nmper + 1, new DateTempColumn(0))
{
Values = new[]
{
-2507300m,
576210.741196628m,
-263857.014691157m,
115861.35323893m,
119890.703197292m,
114557.887385525m,
113878.902663341m,
113225.652629434m,
112554.564064088m,
111908.910909099m,
111245.62667335m,
110586.273723982m,
98989.135506238m,
39471.7873776598m,
97332.2908956887m,
96755.4023024929m,
96181.9329286116m,
95648.5390680754m,
95081.6300737792m,
94536.2079049931m,
93975.8916987012m,
93436.8124399197m,
92883.0123517358m,
82053.7992396979m,
81583.1093587638m,
20513.3607047216m,
}
};
var npvni = new NPVNI();
npvni.ComputeValue(preparedValues, NPVColumn);
Assert.Equal(0.00382387591691009, npvni.Value, new DoubleArrayComparer());
}
}
}

View File

@ -0,0 +1,32 @@
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Post
{
public class PriceUP_PRTests
{
[Fact]
public void PriceUP_PRTest1()
{
var preparedValues = new PreparedValues()
{
PriceUpTotal = 2790146.875m,
};
var postValues = new PostValues()
{
PriceUP = new PriceUP()
{
Value = 499446.893305404m
}
};
var priceUpPr = new PriceUP_PR();
priceUpPr.ComputeValue(preparedValues, postValues);
Assert.Equal(0.179003800043825, priceUpPr.Value, new DoubleArrayComparer());
}
}
}

View File

@ -0,0 +1,32 @@
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Post
{
public class PriceUP_YearTests
{
[Fact]
public void PriceUP_YearTest1()
{
var preparedValues = new PreparedValues()
{
Nmper = 25
};
var postValues = new PostValues()
{
PriceUP = new PriceUP()
{
Value = 499446.893305404m
}
};
var priceUpYear = new PriceUP_Year();
priceUpYear.ComputeValue(preparedValues, postValues);
Assert.Equal(239734.508786594m, priceUpYear.Value, new DecimalArrayComparer());
}
}
}

View File

@ -0,0 +1,32 @@
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Post
{
public class PriceUP_Year_PRTests
{
[Fact]
public void PriceUP_Year_PRTest1()
{
var preparedValues = new PreparedValues()
{
PriceUpTotal = 2790146.875m,
};
var postValues = new PostValues()
{
PriceUP_Year = new PriceUP_Year()
{
Value = 239734.508786594m
}
};
var priceUpYearPr = new PriceUP_Year_PR();
priceUpYearPr.ComputeValue(preparedValues, postValues);
Assert.Equal(0.0859218240210361, priceUpYearPr.Value, new DoubleArrayComparer());
}
}
}

View File

@ -0,0 +1,59 @@
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Post
{
public class PriceUpTests
{
[Fact]
public void PriceUpTest1()
{
var preparedValues = new PreparedValues()
{
PriceUpTotal = 2790146.875m,
Nmper = 25
};
var SumColumn = new SumColumn(preparedValues.Nmper + 1, new DateTempColumn(0), null, null, null)
{
Values = new[]
{
-2739075.13217019m,
625000m,
122771.803176996m,
122771.803176996m,
122771.803176996m,
122771.803176996m,
122771.803176996m,
122771.803176996m,
122771.803176996m,
122771.803176996m,
122771.803176996m,
122771.803176996m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
110494.622859296m,
98217.4425415964m,
98217.4425415964m,
25000m,
}
};
var PriceUP = new PriceUP();
PriceUP.ComputeValue(preparedValues, SumColumn);
Assert.Equal(499446.893305404m, PriceUP.Value, new DecimalArrayComparer());
}
}
}

View File

@ -1,5 +1,6 @@
using System;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Request;
using Microsoft.AspNetCore.Mvc;
@ -17,6 +18,8 @@ namespace EvoCalculator.Core.Controllers.V1
var preparedPayments = requestCalculation.preparedPayments;
var constants = new Constants.Calculation();
var postValues = new PostValues();
var dateColumn = new DateColumn(requestCalculation.preparedValues.Nmper + 1);
dateColumn.ComputeValues(preparedValues, constants);
@ -26,12 +29,10 @@ namespace EvoCalculator.Core.Controllers.V1
var percentPaymentColumn = new PercentPaymentColumn(preparedPayments.Rows.Length + 1);
percentPaymentColumn.ComputeValues(preparedPayments);
var kaskoNmperGrColumn =
new KaskoNmperGrColumn(preparedValues.Nmper + 1, dateTempColumn, preparedValues.IrrExpected);
kaskoNmperGrColumn.ComputeValues(preparedValues, constants);
var tlmGrColumn = new TLM_GrColumn(preparedPayments.Rows.Length + 1, dateTempColumn,
preparedValues.IrrExpected);
tlmGrColumn.ComputeValues(preparedPayments, preparedValues);
@ -41,102 +42,184 @@ namespace EvoCalculator.Core.Controllers.V1
preparedValues.IrrExpected);
gpsGrColumn.ComputeValues(preparedPayments, preparedValues);
postValues.BaseCost.ComputeValue(preparedValues, kaskoNmperGrColumn, tlmGrColumn, gpsGrColumn);
var sumColumn = new SumColumn(
preparedValues.Nmper + 1
, dateTempColumn
, preparedValues
, percentPaymentColumn);
, percentPaymentColumn, postValues);
sumColumn.ComputeValues(Convert.ToDecimal(preparedValues.IrrExpected));
var vatColumn = new VATColumn(preparedValues.Nmper + 1);
vatColumn.ComputeValues(new Constants.Calculation(), sumColumn, preparedValues);
var sumWithVatColumn = new SumWithVATColumn(preparedValues.Nmper + 1);
sumWithVatColumn.ComputeValues(new Constants.Calculation(), sumColumn, preparedValues);
var acceptSumColumn = new AcceptSumColumn(preparedValues.Nmper + 1);
acceptSumColumn.ComputeValues(preparedValues, sumColumn, vatColumn, sumWithVatColumn);
var acceptKaskoColumn = new AcceptKaskoColumn(preparedValues.Nmper + 1);
acceptKaskoColumn.ComputeValues(preparedValues);
var acceptOsagoColumn = new AcceptOsagoColumn(preparedValues.Nmper + 1);
acceptOsagoColumn.ComputeValues(preparedValues);
var acceptInsuranceColumn = new AcceptInsuranceColumn(preparedValues.Nmper + 1);
acceptInsuranceColumn.ComputeValues(acceptKaskoColumn, acceptOsagoColumn);
var deprecationLpColumn = new DeprecationLPColumn(preparedValues.Nmper + 1);
deprecationLpColumn.ComputeValues(preparedValues, acceptSumColumn);
var deprecationLPColumn = new DeprecationLPColumn(preparedValues.Nmper + 1);
deprecationLPColumn.ComputeValues(preparedValues, acceptSumColumn);
var deprecationLDColumn = new DeprecationLDColumn(preparedValues.NmperDeprecation + 2);
deprecationLDColumn.ComputeValues(preparedValues);
var deprecationLdColumn = new DeprecationLDColumn(preparedValues.NmperDeprecation + 2);
deprecationLdColumn.ComputeValues(preparedValues);
var deprecationColumn = new DeprecationColumn(preparedValues.NmperDeprecation + 2);
deprecationColumn.ComputeValues(deprecationLPColumn, deprecationLDColumn);
deprecationColumn.ComputeValues(deprecationLpColumn, deprecationLdColumn);
var npvBonusExpensesColumn = new NPVBonusExpensesColumn(preparedValues.Nmper + 1);
npvBonusExpensesColumn.ComputeValues(preparedValues);
npvBonusExpensesColumn.ComputeValues(preparedValues, postValues);
var kaskoBonusGrSumColumn = new KaskoBonusGrSumColumn(preparedValues.Nmper + 1);
kaskoBonusGrSumColumn.ComputeValues(preparedValues, kaskoNmperGrColumn);
postValues.BonusBase.ComputeValue(preparedValues, kaskoBonusGrSumColumn);
var agentComissionExpensesColumn = new AgentComissionExpensesColumn(preparedValues.Nmper + 1);
agentComissionExpensesColumn.ComputeValues(preparedValues);
var ratExpensesColumn = new RatExpensesColumn(preparedValues.Nmper + 1);
ratExpensesColumn.ComputeValues(preparedValues);
var transExprensesColumn = new TransExpensesColumn(preparedValues.Nmper + 1);
transExprensesColumn.ComputeValues(preparedValues);
var nsibExpensesColumn = new NSIBExpensesColumn(preparedValues.Nmper + 1);
nsibExpensesColumn.ComputeValues(preparedValues);
var tlmExpensesColumn = new TLMExpensesColumn(preparedValues.Nmper + 1);
tlmExpensesColumn.ComputeValues(preparedValues, preparedPayments);
var gpsExpensesColumn = new GPSExpensesColumn(preparedValues.Nmper + 1);
gpsExpensesColumn.ComputeValues(preparedValues, preparedPayments);
var registrExpensesColumn = new RegistrExpensesColumn(preparedValues.Nmper + 1);
registrExpensesColumn.ComputeValues(preparedValues);
var insuranceBonusExpensesColumn = new InsuranceBonusExpensesColumn(preparedValues.Nmper + 1);
insuranceBonusExpensesColumn.ComputeValues(preparedValues, constants);
var comissionBonusExpensesColumn = new ComissionBonusExpensesColumn(preparedValues.Nmper + 1);
comissionBonusExpensesColumn.ComputeValues(preparedValues);
var expensesColumn = new ExpensesColumn(preparedValues.Nmper + 1);
expensesColumn.ComputeValues(agentComissionExpensesColumn, ratExpensesColumn, transExprensesColumn,
nsibExpensesColumn, tlmExpensesColumn, gpsExpensesColumn, registrExpensesColumn,
insuranceBonusExpensesColumn, comissionBonusExpensesColumn, npvBonusExpensesColumn);
var negativeCashflowColumn = new NegativeCashflowColumn(preparedValues.Nmper + 1);
negativeCashflowColumn.ComputeValues(kaskoNmperGrColumn);
var nsibBruttoGrColumn = new NSIBBruttoGrColumn(preparedValues.Nmper + 1);
nsibBruttoGrColumn.ComputeValues(preparedValues);
var taxColumn = new TaxColumn(preparedValues.Nmper + 1);
taxColumn.ComputeValues(constants, sumColumn, acceptInsuranceColumn, deprecationColumn, ratExpensesColumn,
registrExpensesColumn, comissionBonusExpensesColumn, transExprensesColumn, npvBonusExpensesColumn,
agentComissionExpensesColumn, insuranceBonusExpensesColumn, tlmExpensesColumn, gpsExpensesColumn);
var cashflowColumn = new CashflowColumn(preparedValues.Nmper + 1, dateTempColumn);
cashflowColumn.ComputeValues(preparedValues, sumColumn, negativeCashflowColumn);
var cashflowLeasingColumn = new CashflowLeasingColumn(preparedValues.Nmper + 1, dateTempColumn);
cashflowLeasingColumn.ComputeValues(preparedValues, sumColumn, negativeCashflowColumn, nsibBruttoGrColumn,
tlmGrColumn, gpsGrColumn);
var cashflowMsfoColumn = new CashflowMSFOColumn(preparedValues.Nmper + 1, dateTempColumn);
cashflowMsfoColumn.ComputeValues(preparedValues, sumColumn, negativeCashflowColumn, nsibBruttoGrColumn,
tlmGrColumn, gpsGrColumn, npvBonusExpensesColumn, agentComissionExpensesColumn);
var cashflowNpvColumn = new CashflowNPVColumn(preparedValues.Nmper + 1);
cashflowNpvColumn.ComputeValues(preparedValues, sumColumn, npvBonusExpensesColumn,
agentComissionExpensesColumn, taxColumn, nsibExpensesColumn, negativeCashflowColumn, ratExpensesColumn,
transExprensesColumn, tlmExpensesColumn, gpsExpensesColumn);
var npvWeightColumn = new NPVWeightColumn(preparedValues.Nmper + 1);
npvWeightColumn.ComputeValues(preparedValues, dateTempColumn);
var npvColumn = new NPVColumn(preparedValues.Nmper + 1, dateTempColumn);
npvColumn.ComputeValues(cashflowNpvColumn, npvWeightColumn);
var irrGrColumn = new IRRGrColumn(preparedValues.Nmper + 1);
irrGrColumn.ComputeValues(dateTempColumn, cashflowColumn);
var niColumn = new NIColumn(preparedValues.Nmper + 1);
niColumn.ComputeValues(preparedValues, cashflowColumn, irrGrColumn);
var interestColumn = new InterestColumn(preparedValues.Nmper + 1);
interestColumn.ComputeValues(irrGrColumn, niColumn);
var cashflowNsibColumn = new CashflowNSIBColumn(preparedValues.Nmper + 1, dateTempColumn,
nsibBruttoGrColumn, nsibExpensesColumn);
cashflowNsibColumn.ComputeValues((decimal) cashflowLeasingColumn.IRR);
var revenueColumn = new RevenueColumn(preparedValues.Nmper + 1);
revenueColumn.ComputeValues(nsibBruttoGrColumn, nsibExpensesColumn, cashflowNsibColumn);
var sumCurrentColumn = new SumCurrentColumn(preparedValues.Nmper + 1);
sumCurrentColumn.ComputeValues(sumWithVatColumn);
var sumCurrentNegativeColumn = new SumCurrentNegativeColumn(preparedValues.Nmper + 1);
sumCurrentNegativeColumn.ComputeValues(negativeCashflowColumn);
var sumCurrentInterestColumn = new SumCurrentInterestColumn(preparedValues.Nmper + 1);
sumCurrentInterestColumn.ComputeValues(interestColumn);
var sumCurrentTlmColumn = new SumCurrentTLMColumn(preparedValues.Nmper + 1);
sumCurrentTlmColumn.ComputeValues(tlmGrColumn);
var sumRepaymentColumn = new SumRepaymentColumn(preparedValues.Nmper + 1);
sumRepaymentColumn.ComputeValues(constants, preparedValues, sumCurrentColumn, sumCurrentNegativeColumn,
sumCurrentInterestColumn, sumCurrentTlmColumn);
var extraBonusSumColumn = new ExtraBonusSumColumn(preparedValues.Nmper + 1);
extraBonusSumColumn.ComputeValues(preparedValues, cashflowMsfoColumn, postValues);
var cashflowMsfoFinalColumn = new CashflowMSFOFinalColumn(preparedValues.Nmper + 1, dateTempColumn);
cashflowMsfoFinalColumn.ComputeValues(preparedValues, cashflowMsfoColumn, extraBonusSumColumn);
var cashflowNpvFinalColumn = new CashflowNPVFinalColumn(preparedValues.Nmper + 1);
cashflowNpvFinalColumn.ComputeValues(preparedValues, extraBonusSumColumn, cashflowNpvColumn);
var npvFinalColumn = new NPVFinalColumn(preparedValues.Nmper + 1, dateTempColumn);
npvFinalColumn.ComputeValues(cashflowNpvFinalColumn, npvWeightColumn);
var directorBonusSumColumn = new DirectorBonusSumColumn(preparedValues.Nmper + 1);
directorBonusSumColumn.ComputeValues(preparedValues, postValues);
var cashflowMsfoFinal2Column = new CashflowMSFOFinal2Column(preparedValues.Nmper + 1, dateTempColumn);
cashflowMsfoFinal2Column.ComputeValues(preparedValues, directorBonusSumColumn, cashflowMsfoFinalColumn);
var cashflowNpvFinal2Column = new CashflowNPVFinal2Column(preparedValues.Nmper + 1);
cashflowNpvFinal2Column.ComputeValues(preparedValues, cashflowNpvFinalColumn, directorBonusSumColumn);
var npvFinal2Column = new NPVFinal2Column(preparedValues.Nmper + 1, dateTempColumn);
npvFinal2Column.ComputeValues(cashflowNpvFinal2Column, npvWeightColumn);
postValues.PriceUP.ComputeValue(preparedValues, sumColumn);
postValues.PriceUP_PR.ComputeValue(preparedValues, postValues);
postValues.PriceUP_Year.ComputeValue(preparedValues, postValues);
postValues.PriceUP_Year_PR.ComputeValue(preparedValues, postValues);
postValues.NPVNI.ComputeValue(preparedValues, npvColumn);
postValues.BonusResult.ComputeValue(preparedValues, npvBonusExpensesColumn);
return new
{
preparedValues,
preparedPayments,
postValues,
dateColumn,
dateTempColumn,
percentPaymentColumn,
@ -150,8 +233,8 @@ namespace EvoCalculator.Core.Controllers.V1
acceptKaskoColumn,
acceptOsagoColumn,
acceptInsuranceColumn,
deprecationLPColumn,
deprecationLDColumn,
deprecationLpColumn,
deprecationLdColumn,
deprecationColumn,
npvBonusExpensesColumn,
kaskoBonusGrSumColumn,
@ -164,7 +247,34 @@ namespace EvoCalculator.Core.Controllers.V1
registrExpensesColumn,
insuranceBonusExpensesColumn,
comissionBonusExpensesColumn,
expensesColumn
expensesColumn,
negativeCashflowColumn,
nsibBruttoGrColumn,
taxColumn,
cashflowColumn,
cashflowLeasingColumn,
cashflowMsfoColumn,
cashflowNpvColumn,
npvWeightColumn,
npvColumn,
irrGrColumn,
niColumn,
interestColumn,
cashflowNsibColumn,
revenueColumn,
sumCurrentColumn,
sumCurrentNegativeColumn,
sumCurrentInterestColumn,
sumCurrentTlmColumn,
sumRepaymentColumn,
extraBonusSumColumn,
cashflowMsfoFinalColumn,
cashflowNpvFinalColumn,
npvFinalColumn,
directorBonusSumColumn,
cashflowMsfoFinal2Column,
cashflowNpvFinal2Column,
npvFinal2Column
};
}
}