From fdaf94db2e77f838614ec03b0008ae46da71a689 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 22 Jun 2023 10:36:51 +0200 Subject: [PATCH] handle ValidationException --- .../Controllers/ValidationController.cs | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs b/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs index 899b15a4..fb9e90bc 100644 --- a/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs +++ b/WEBSERVICES/ZUGFeRDRESTService/Controllers/ValidationController.cs @@ -10,7 +10,6 @@ using static DigitalData.Modules.Interfaces.ZUGFeRDInterface; using static DigitalData.Modules.Interfaces.PropertyValues; using System.Data.SqlClient; using Microsoft.Extensions.Configuration; -using FirebirdSql.Data.FirebirdClient; namespace ZUGFeRDRESTService.Controllers { @@ -152,9 +151,7 @@ namespace ZUGFeRDRESTService.Controllers _logger.Info("Extracting ZUGFeRD Data from file [{0}]", file.FileName); - oZugferdResult = _zugferd.ExtractZUGFeRDFileWithGDPicture(oStream); - - + oZugferdResult = _zugferd.ExtractZUGFeRDFileWithGDPicture(oStream); _logger.Info("Detected Specification was: [{0}]", oZugferdResult.Specification); @@ -188,14 +185,7 @@ namespace ZUGFeRDRESTService.Controllers if (oPropertyResult.MissingProperties.Count > 0) { throw new ZUGFeRDExecption(ErrorType.MissingProperties, "Missing Properties"); - } - - oZugferdResult = _zugferd.ValidateZUGFeRDDocument(oZugferdResult); - - if (oZugferdResult.ValidationErrors.Any()) - { - throw new ZUGFeRDExecption(ErrorType.ValidationFailed, "Validation Failed"); - } + } Tuple oValidateResult = ValidateBuyerOrderReference(oPropertyResult.ValidProperties); @@ -244,7 +234,6 @@ namespace ZUGFeRDRESTService.Controllers ErrorType.MissingProperties => "Die hochgeladene Datei ist keine gültige ZUGFeRD-Rechnung, es fehlen einige Metadaten.", ErrorType.FileTooBig => string.Format("Die hochgeladene Datei überschreitet die zulässige Dateigröße [{0}].", _MaxFileSizeInMegabytes), ErrorType.UnsupportedFormat => "Die hochgeladene Datei enthält ein falsches oder nicht unterstütztes ZUGFeRD Format.", - ErrorType.ValidationFailed => "Die hochgeladene Datei enthält ungültige Werte.", _ => "Die hochgeladene Datei kann nicht validiert werden.", }; @@ -253,10 +242,6 @@ namespace ZUGFeRDRESTService.Controllers { // Errors contains the list of missing fields ErrorType.MissingProperties => oPropertyResult.MissingProperties, - ErrorType.ValidationFailed => oZugferdResult.ValidationErrors.Select(e => - { - return $"Element '{e.ElementName}' mit Wert '{e.ElementValue}': {e.ErrorMessage}"; - }).ToList(), _ => new List() }; _logger.Info($"Responding with message: [{oMessage}]"); @@ -268,6 +253,21 @@ namespace ZUGFeRDRESTService.Controllers errors = oErrors }; } + catch (ValidationException ex) + { + string oMessage = "Die hochgeladene Datei enthält ungültige Werte."; + List oErrors = ex.ValidationErrors.Select(e => + { + return $"Element '{e.ElementName}' mit Wert '{e.ElementValue}': {e.ErrorMessage}"; + }).ToList(); + + return new ValidationResponse() + { + status = RESPONSE_ERROR, + message = oMessage, + errors = oErrors + }; + } catch (Exception ex) { _logger.Error(ex);