diff --git a/EvoCalculator.Core.Calculation/v1/Managers/CalculateByTotalExpected.cs b/EvoCalculator.Core.Calculation/v1/Managers/CalculateByTotalExpected.cs index 733e097..37cf92b 100644 --- a/EvoCalculator.Core.Calculation/v1/Managers/CalculateByTotalExpected.cs +++ b/EvoCalculator.Core.Calculation/v1/Managers/CalculateByTotalExpected.cs @@ -14,8 +14,8 @@ public static partial class CalculateManager var preparedPayments = requestCalculation.preparedPayments; var additionalData = requestCalculation.additionalData; - var validationErrors = new Validation().ValidateRequest(requestCalculation); - if (validationErrors.Count > 0) return new ManagerResult { Errors = validationErrors }; + new Validation().ValidateRequest(requestCalculation); + var constants = new Constants.Calculation(); diff --git a/EvoCalculator.Core.Calculation/v1/Managers/CalculateDefault.cs b/EvoCalculator.Core.Calculation/v1/Managers/CalculateDefault.cs index 850cb95..b895e0a 100644 --- a/EvoCalculator.Core.Calculation/v1/Managers/CalculateDefault.cs +++ b/EvoCalculator.Core.Calculation/v1/Managers/CalculateDefault.cs @@ -14,9 +14,9 @@ public static partial class CalculateManager var preparedPayments = requestCalculation.preparedPayments; var additionalData = requestCalculation.additionalData; - var validationErrors = new Validation().ValidateRequest(requestCalculation); + new Validation().ValidateRequest(requestCalculation); - if (validationErrors.Count > 0) return new ManagerResult { Errors = validationErrors }; + var constants = new Constants.Calculation(); diff --git a/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateByTotalExpected.cs b/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateByTotalExpected.cs index 12f0838..111b699 100644 --- a/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateByTotalExpected.cs +++ b/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateByTotalExpected.cs @@ -28,8 +28,8 @@ public static partial class CalculateManager var additionalData = requestCalculation.additionalData; var flags = requestCalculation.Flags; - var validationErrors = new Validation().ValidateRequest(requestCalculation); - if (validationErrors.Count > 0) return new ManagerResult { Errors = validationErrors }; + new Validation().ValidateRequest(requestCalculation); + var constants = new Constants.Calculation(); diff --git a/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateDefault.cs b/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateDefault.cs index 94d5907..bf9d9a9 100644 --- a/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateDefault.cs +++ b/EvoCalculator.Core.Calculation/v2/Managers/Calculation/CalculateDefault.cs @@ -28,8 +28,8 @@ public static partial class CalculateManager var additionalData = requestCalculation.additionalData; var flags = requestCalculation.Flags; - var validationErrors = new Validation().ValidateRequest(requestCalculation); - if (validationErrors.Count > 0) return new ManagerResult { Errors = validationErrors }; + new Validation().ValidateRequest(requestCalculation); + var constants = new Constants.Calculation(); diff --git a/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateByPI.cs b/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateByPI.cs index 2077239..03d594a 100644 --- a/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateByPI.cs +++ b/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateByPI.cs @@ -33,8 +33,8 @@ public static partial class CalculateManager var additionalData = requestCalculation.additionalData; var flags = requestCalculation.Flags; - var validationErrors = new Validation().ValidateRequest(requestCalculation); - if (validationErrors.Count > 0) return new ManagerResult { Errors = validationErrors }; + new Validation().ValidateRequest(requestCalculation); + var constants = new Constants.Calculation(); diff --git a/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateByTotalExpected.cs b/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateByTotalExpected.cs index 381fbc7..b74e749 100644 --- a/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateByTotalExpected.cs +++ b/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateByTotalExpected.cs @@ -34,8 +34,8 @@ public static partial class CalculateManager var additionalData = requestCalculation.additionalData; var flags = requestCalculation.Flags; - var validationErrors = new Validation().ValidateRequest(requestCalculation); - if (validationErrors.Count > 0) return new ManagerResult { Errors = validationErrors }; + new Validation().ValidateRequest(requestCalculation); + var constants = new Constants.Calculation(); diff --git a/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateDefault.cs b/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateDefault.cs index 277cf6e..7a54962 100644 --- a/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateDefault.cs +++ b/EvoCalculator.Core.Calculation/v3/Managers/Calculation/CalculateDefault.cs @@ -34,8 +34,8 @@ public static partial class CalculateManager var additionalData = requestCalculation.additionalData; var flags = requestCalculation.Flags; - var validationErrors = new Validation().ValidateRequest(requestCalculation); - if (validationErrors.Count > 0) return new ManagerResult { Errors = validationErrors }; + new Validation().ValidateRequest(requestCalculation); + var constants = new Constants.Calculation(); diff --git a/EvoCalculator.Core.Tools/Validation/ValidatePreparedValues.cs b/EvoCalculator.Core.Tools/Validation/ValidatePreparedValues.cs index d6ea867..81f1365 100644 --- a/EvoCalculator.Core.Tools/Validation/ValidatePreparedValues.cs +++ b/EvoCalculator.Core.Tools/Validation/ValidatePreparedValues.cs @@ -1,35 +1,33 @@ using System; -using System.Collections.Generic; using EvoCalculator.Core.Constants; using EvoCalculator.Core.Models.Calculation.Models.Request; +using EvoCalculator.Core.Tools.Errors; namespace EvoCalculator.Core.Tools.Validation; public class Validation { - public List ValidateRequest(RequestCalculation requestCalculation) + public void ValidateRequest(RequestCalculation requestCalculation) { - var errors = new List(); - var preparedValues = requestCalculation.preparedValues; var additionalData = requestCalculation.additionalData; if (preparedValues.AcceptSum <= 0) - errors.Add("Стоимость ПЛ с учетом скидки не указана или меньше или равна 0"); + throw new AppException("Стоимость ПЛ с учетом скидки не указана или меньше или равна 0"); - if (preparedValues.Nmper <= 0) errors.Add("Некорректно указан Срок лизинга"); + if (preparedValues.Nmper <= 0) throw new AppException("Некорректно указан Срок лизинга"); if (preparedValues.IrrExpected <= 0 && preparedValues.Discount <= 0 && preparedValues.ComissionRub <= 0) - errors.Add( + throw new AppException( "Невозможно посчитать график с IRR=0, необходимо указать или Скидку поставщика или Комиссию"); if (preparedValues.PaymentDateNew < preparedValues.DogDate) - errors.Add( + throw new AppException( "Некорректно указана Дата второго платежа, она не может быть раньше Даты заключения ДЛ"); if (preparedValues.PaymentDateNew == null) if (preparedValues.FirstPaymentSum / preparedValues.AcceptSum >= 0.500001m) - errors.Add( + throw new AppException( "Первый платеж по графику более 50% от стоимости ПЛ с учетом скидки. Необходимо уменьшить первый платеж"); var AllAgencyPerc = Math.Round( @@ -39,8 +37,7 @@ public class Validation preparedValues.FinancialDeptOfDeliverySum) / preparedValues.AcceptSum * 100, 2); if (additionalData.MaxAllAgencyPerc != null && AllAgencyPerc > (decimal)additionalData.MaxAllAgencyPerc) - errors.Add("По итогам расчета сумма заложенного АВ превышает максимальный уровень % АВ по Предложению"); - - return errors; + throw new AppException( + "По итогам расчета сумма заложенного АВ превышает максимальный уровень % АВ по Предложению"); } } \ No newline at end of file