From 06f3bf51e36ce423ca505f482f43102bac696e8b Mon Sep 17 00:00:00 2001 From: Chika Date: Tue, 8 Feb 2022 13:33:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83?= =?UTF-8?q?=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D0=BD=D0=B5=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=BF=D0=BB=D0=B0=D1=82=D0=B5=D0=B6=D0=B0=20=D1=81=20=D1=84?= =?UTF-8?q?=D1=80=D0=BE=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EvoCalculator.Core.Calculation/v1/Columns/SumColumn.cs | 4 +++- EvoCalculator.Core.Calculation/v2/Columns/SumColumn.cs | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/EvoCalculator.Core.Calculation/v1/Columns/SumColumn.cs b/EvoCalculator.Core.Calculation/v1/Columns/SumColumn.cs index f2c2ad2..24f6961 100644 --- a/EvoCalculator.Core.Calculation/v1/Columns/SumColumn.cs +++ b/EvoCalculator.Core.Calculation/v1/Columns/SumColumn.cs @@ -33,7 +33,7 @@ public class SumColumn : BaseColumnWithXIRR Values[^1] = _preparedValues.LastPaymentSum; } - public void PostCheck() + public virtual void PostCheck() { new CheckTools().CheckColumnForLessThanZeroValue(Values); @@ -45,5 +45,7 @@ public class SumColumn : BaseColumnWithXIRR if (GetValue(i) < _nsibBruttoGrColumn.GetValue(i)) throw new Exception( "Невозможно осуществить расчет графика. При заданных параметрах лизинговый платеж не покрывает расходы по НСИБ. Исключите НСИБ или увеличьте лизинговые платежи"); + + } } \ No newline at end of file diff --git a/EvoCalculator.Core.Calculation/v2/Columns/SumColumn.cs b/EvoCalculator.Core.Calculation/v2/Columns/SumColumn.cs index b3989ca..2c0de55 100644 --- a/EvoCalculator.Core.Calculation/v2/Columns/SumColumn.cs +++ b/EvoCalculator.Core.Calculation/v2/Columns/SumColumn.cs @@ -23,4 +23,13 @@ public class SumColumn : v1.Columns.SumColumn Values[^1] = _preparedValues.LastPaymentFix ? _preparedValues.LastPaymentSum : Values[^2]; } + + public override void PostCheck() + { + base.PostCheck(); + + if (_preparedValues.LastPaymentFix == false && Values[^1] / _preparedValues.PlPrice < 0.01m) + throw new Exception( + "Невозможно осуществить расчет графика, при заданных параметрах последний платеж меньше 1%"); + } } \ No newline at end of file