From 4fd609effb8a539d2188eaf177d6b3e4599be326 Mon Sep 17 00:00:00 2001 From: Nicola Iarocci Date: Thu, 3 Aug 2023 15:20:17 +0200 Subject: [PATCH] fix: Scarto fattura se presenta uno sconto a 3+ cifre decimali Closes #401 --- CHANGES.md | 2 ++ Extensions/DecimalRuleExtensions.cs | 9 ++++++++- Test/Common/ScontoMaggiorazioneValidator.cs | 5 +++++ Validators/ScontoMaggiorazioneValidator.cs | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 20e17af..56abc7a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,8 +2,10 @@ ## In Development +- Fix: Scarto Fattura se presenta uno sconto a 3+ cifre decimali ([#401][401]) - Fix: typos nella documentazione ([#399][399]) +[401]: https://github.com/FatturaElettronica/FatturaElettronica.NET/issues/401 [399]: https://github.com/FatturaElettronica/FatturaElettronica.NET/pull/399 ## Stable diff --git a/Extensions/DecimalRuleExtensions.cs b/Extensions/DecimalRuleExtensions.cs index 23b356c..7171cde 100644 --- a/Extensions/DecimalRuleExtensions.cs +++ b/Extensions/DecimalRuleExtensions.cs @@ -8,18 +8,25 @@ public static void ScalePrecision8DecimalType(this IRuleBuilder r { ruleBuilder.ScalePrecision(8, 19); } - + public static void ScalePrecision2DecimalType(this IRuleBuilder ruleBuilder) { ruleBuilder.ScalePrecision(2, 13); } + public static void ScalePrecision8DecimalType(this IRuleBuilder ruleBuilder) { ruleBuilder.ScalePrecision(8, 19); } + public static void ScalePrecision2DecimalType(this IRuleBuilder ruleBuilder) { ruleBuilder.ScalePrecision(2, 13); } + + public static void ScalePrecisionPercentualeDecimalType(this IRuleBuilder ruleBuilder) + { + ruleBuilder.ScalePrecision(2, 6); + } } } \ No newline at end of file diff --git a/Test/Common/ScontoMaggiorazioneValidator.cs b/Test/Common/ScontoMaggiorazioneValidator.cs index 414f849..3990065 100644 --- a/Test/Common/ScontoMaggiorazioneValidator.cs +++ b/Test/Common/ScontoMaggiorazioneValidator.cs @@ -49,5 +49,10 @@ public void Importo() { AssertDecimalType(x => x.Importo, 8, 19); } + [TestMethod] + public void Percentuale() + { + AssertDecimalType(x => x.Percentuale, 2, 6); + } } } \ No newline at end of file diff --git a/Validators/ScontoMaggiorazioneValidator.cs b/Validators/ScontoMaggiorazioneValidator.cs index 63bf022..94616c8 100644 --- a/Validators/ScontoMaggiorazioneValidator.cs +++ b/Validators/ScontoMaggiorazioneValidator.cs @@ -17,6 +17,8 @@ public ScontoMaggiorazioneValidator() .WithErrorCode("00437"); RuleFor(x => x.Importo) .ScalePrecision8DecimalType(); + RuleFor(x => x.Percentuale) + .ScalePrecisionPercentualeDecimalType(); } } } \ No newline at end of file