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