add forgotten files

This commit is contained in:
Chika 2020-11-10 07:01:30 +03:00
parent 79a86d94d2
commit afd54af60d
3 changed files with 307 additions and 86 deletions

View File

@ -14,45 +14,7 @@
</component>
<component name="ChangeListManager">
<list default="true" id="2c3b0650-5589-43d4-b4b7-2979612bb30f" name="Default Changelist" comment="">
<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/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" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -138,10 +100,10 @@
<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" />
<option value="$PROJECT_DIR$/EvoCalculator.Core.Calculation/Post/PostValues.cs" />
</list>
</option>
</component>
@ -224,7 +186,12 @@
<workItem from="1603814840650" duration="5494000" />
<workItem from="1603874606819" duration="32000" />
<workItem from="1603881223933" duration="3376000" />
<workItem from="1603884647671" duration="5113000" />
<workItem from="1603884647671" duration="5555000" />
<workItem from="1603890628249" duration="28000" />
<workItem from="1604247000762" duration="1670000" />
<workItem from="1604410295403" duration="30000" />
<workItem from="1604410698896" duration="4000" />
<workItem from="1604503413911" duration="434000" />
</task>
<task id="LOCAL-00001" summary="rename: flow">
<created>1602593830686</created>
@ -275,7 +242,14 @@
<option name="project" value="LOCAL" />
<updated>1603799116058</updated>
</task>
<option name="localTasksCounter" value="8" />
<task id="LOCAL-00008" summary="add postValues">
<created>1603890043823</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1603890043823</updated>
</task>
<option name="localTasksCounter" value="9" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -305,7 +279,8 @@
<MESSAGE value="fix InsuranceBonusExpensesColumn" />
<MESSAGE value="new column type | new columns" />
<MESSAGE value="last columns(!!!)" />
<option name="LAST_COMMIT_MESSAGE" value="last columns(!!!)" />
<MESSAGE value="add postValues" />
<option name="LAST_COMMIT_MESSAGE" value="add postValues" />
</component>
<component name="WindowStateProjectService">
<state x="1077" y="489" key="#Web_Browsers" timestamp="1602508282238">
@ -324,90 +299,90 @@
<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="1603798988775" />
<state width="535" height="702" key="DebuggerActiveHint" timestamp="1603716624018">
<state width="535" height="702" key="DebuggerActiveHint" timestamp="1603889948136">
<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="1603799185897">
<state width="535" height="702" key="DebuggerActiveHint/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603889948136" />
<state width="2517" height="481" key="GridCell.Tab.0.bottom" timestamp="1603890254033">
<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="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.0.center" timestamp="1603799185897">
<state width="2517" height="481" key="GridCell.Tab.0.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.0.center" timestamp="1603890254033">
<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="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.0.left" timestamp="1603799185896">
<state width="2517" height="481" key="GridCell.Tab.0.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.0.left" timestamp="1603890254033">
<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="1603799185896" />
<state width="2517" height="481" key="GridCell.Tab.0.right" timestamp="1603799185897">
<state width="2517" height="481" key="GridCell.Tab.0.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.0.right" timestamp="1603890254033">
<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="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.1.bottom" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.0.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.1.bottom" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.1.center" timestamp="1603799185897">
<state width="2517" height="481" key="GridCell.Tab.1.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.1.center" timestamp="1603890254033">
<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="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.1.left" timestamp="1603799185897">
<state width="2517" height="481" key="GridCell.Tab.1.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.1.left" timestamp="1603890254033">
<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="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.1.right" timestamp="1603799185897">
<state width="2517" height="481" key="GridCell.Tab.1.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.1.right" timestamp="1603890254033">
<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="1603799185897" />
<state width="2517" height="481" key="GridCell.Tab.2.bottom" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.1.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.2.bottom" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.2.center" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.2.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.2.center" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.2.left" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.2.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.2.left" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.2.right" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.2.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.2.right" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.3.bottom" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.2.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.3.bottom" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.3.center" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.3.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.3.center" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.3.left" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.3.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.3.left" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.3.right" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.3.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.3.right" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.bottom" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.3.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.4.bottom" timestamp="1603890254034">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.center" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.4.bottom/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254034" />
<state width="2517" height="481" key="GridCell.Tab.4.center" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.left" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.4.center/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.4.left" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.right" timestamp="1603799185898">
<state width="2517" height="481" key="GridCell.Tab.4.left/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state width="2517" height="481" key="GridCell.Tab.4.right" timestamp="1603890254033">
<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="1603799185898" />
<state width="2517" height="481" key="GridCell.Tab.4.right/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890254033" />
<state x="872" y="432" key="Rider.ProjectTemplateDialog.Size" timestamp="1602854431119">
<screen x="0" y="0" width="2560" height="1400" />
</state>
@ -432,10 +407,10 @@
<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="1603799117994">
<state x="872" y="433" key="Vcs.Push.Dialog.v2" timestamp="1603890047888">
<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="1603799117994" />
<state x="872" y="433" key="Vcs.Push.Dialog.v2/0.0.2560.1400/2560.0.1920.1040@0.0.2560.1400" timestamp="1603890047888" />
<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>

View File

@ -0,0 +1,46 @@
using System;
using TridentGoalSeek;
namespace EvoCalculator.Core.Calculation.Columns
{
public class CashflowNSIBColumn : BaseColumnWithGoalSeek
{
private readonly NSIBBruttoGrColumn _NSIBBruttoGrColumn;
private readonly NSIBExpensesColumn _NSIBExpensesColumn;
public CashflowNSIBColumn(int count, DateTempColumn dateTempColumn,
NSIBBruttoGrColumn nsibBruttoGrColumn, NSIBExpensesColumn nsibExpensesColumn) : base(count, dateTempColumn)
{
_NSIBBruttoGrColumn = nsibBruttoGrColumn;
_NSIBExpensesColumn = nsibExpensesColumn;
}
public override decimal Calculate(decimal inputVariable)
{
FillValues(inputVariable);
return Convert.ToDecimal(IRR);
}
protected override void FillValues(decimal x)
{
Values[1] = _NSIBBruttoGrColumn.Values[1] - x;
for (var i = 2; i < Values.Length; i++)
Values[i] = _NSIBBruttoGrColumn.Values[i] -
x * _NSIBExpensesColumn.Values[i] / _NSIBExpensesColumn.Values[1];
}
public override void ComputeValues(decimal requiredValue)
{
var goalSeek = new GoalSeek(this);
goalSeek.SeekResult(requiredValue,
new GoalSeekOptions(
startingStabPoint: Convert.ToDecimal(_NSIBBruttoGrColumn.Values[0] / 2)
, tineExplorePercentage: 10
// , maximumAttempts: 10000
// , initialTineSpacing: 1
// , focusPercentage: 100
// , trimFinalInputValue: true
));
}
}
}

View File

@ -0,0 +1,200 @@
using System;
using EvoCalculator.Core.Calculation.Columns;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
using Xunit;
namespace EvoCalculator.Core.Tests.Calculation.Columns
{
public class CashflowMsfoFinalTests
{
[Fact]
public void CashflowMsfoFinalTest1()
{
var preparedValues = new PreparedValues
{
Nmper = 25,
AcquisitionExpenses = 2507300
};
var dateTempColumn = new DateTempColumn(preparedValues.Nmper + 1)
{
Values = new[]
{
new DateTime(2018, 10, 31),
new DateTime(2018, 10, 31),
new DateTime(2018, 11, 30),
new DateTime(2018, 12, 31),
new DateTime(2019, 1, 31),
new DateTime(2019, 2, 28),
new DateTime(2019, 3, 31),
new DateTime(2019, 4, 30),
new DateTime(2019, 5, 31),
new DateTime(2019, 6, 30),
new DateTime(2019, 7, 31),
new DateTime(2019, 8, 31),
new DateTime(2019, 9, 30),
new DateTime(2019, 10, 31),
new DateTime(2019, 11, 30),
new DateTime(2019, 12, 31),
new DateTime(2020, 1, 31),
new DateTime(2020, 2, 29),
new DateTime(2020, 3, 31),
new DateTime(2020, 4, 30),
new DateTime(2020, 5, 31),
new DateTime(2020, 6, 30),
new DateTime(2020, 7, 31),
new DateTime(2020, 8, 31),
new DateTime(2020, 9, 30),
new DateTime(2020, 10, 31),
new DateTime(2020, 11, 30),
new DateTime(2020, 12, 31),
new DateTime(2021, 1, 31),
new DateTime(2021, 2, 28),
new DateTime(2021, 3, 31),
new DateTime(2021, 4, 30),
new DateTime(2021, 5, 31),
new DateTime(2021, 6, 30),
new DateTime(2021, 7, 31),
new DateTime(2021, 8, 31),
new DateTime(2021, 9, 30),
new DateTime(2021, 10, 31),
new DateTime(2021, 11, 30),
new DateTime(2021, 12, 31),
new DateTime(2022, 1, 31),
new DateTime(2022, 2, 28),
new DateTime(2022, 3, 31),
new DateTime(2022, 4, 30),
new DateTime(2022, 5, 31),
new DateTime(2022, 6, 30),
new DateTime(2022, 7, 31),
new DateTime(2022, 8, 31),
new DateTime(2022, 9, 30),
new DateTime(2022, 10, 31),
new DateTime(2022, 11, 30),
new DateTime(2022, 12, 31),
new DateTime(2023, 1, 31),
new DateTime(2023, 2, 28),
new DateTime(2023, 3, 31),
new DateTime(2023, 4, 30),
new DateTime(2023, 5, 31),
new DateTime(2023, 6, 30),
new DateTime(2023, 7, 31),
new DateTime(2023, 8, 31),
new DateTime(2023, 9, 30),
new DateTime(2023, 10, 31),
new DateTime(2023, 11, 30),
new DateTime(2023, 12, 31),
new DateTime(2024, 1, 31),
new DateTime(2024, 2, 29),
new DateTime(2024, 3, 31)
}
};
var cashflowMsfoColumn = new CashflowMSFOColumn(preparedValues.Nmper + 1, dateTempColumn)
{
Values = new[]
{
-2507300m,
623323.69753125m,
-355830.906125263m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
107485.774671708m,
50069.1080050413m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
95208.0487436787m,
95208.0487436787m,
21986.2413194444m
}
};
var extraBonusSumColumn = new ExtraBonusSumColumn(preparedValues.Nmper + 1)
{
Values = new[]
{
-7487.31397588584m,
0,
-7487.31397588584m,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
}
};
var cashflowMsfoFinalColumn = new CashflowMSFOFinalColumn(preparedValues.Nmper + 1, dateTempColumn);
cashflowMsfoFinalColumn.ComputeValues(preparedValues, cashflowMsfoColumn, extraBonusSumColumn);
var expected = new[]
{
-2507300m,
623323.69753125m,
-363318.220101149m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
119763.500599737m,
107485.774671708m,
50069.1080050413m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
107485.774671708m,
95208.0487436787m,
95208.0487436787m,
21986.2413194444m
};
Assert.Equal(expected.Length, cashflowMsfoFinalColumn.Values.Length);
Assert.Equal(0.0752256363630295, cashflowMsfoFinalColumn.IRR, new DoubleArrayComparer(0.01));
Assert.Equal(0.0727501710651923, cashflowMsfoFinalColumn.Nominal, new DoubleArrayComparer(0.01));
Assert.Equal(expected, cashflowMsfoFinalColumn.Values, new DecimalArrayComparer());
}
}
}