Files
DocumentService/DocumentOperator.Application/Common/Configuration/ZugferdSettings.cs
TekH 94123cd1be Add ZUGFeRD detection and extraction functionality
Introduced `ZugferdController` to handle ZUGFeRD-related operations, including detection and extraction of ZUGFeRD XML from PDFs via file upload or Base64-encoded payloads. Integrated `MediatR` for query/command handling.

Added `ZugferdSettings` for configurable file names and patterns, and updated `appsettings.json` and `Program.cs` to support this configuration.

Implemented `HasZugferdQuery` and `ExtractZugferdCommand` with their respective handlers and validators. Added DTOs (`ZugferdCheckResult`, `ZugferdExtractionResult`) for operation results.

Included `ZUGFeRD-Example.pdf` for testing and integrated `Serilog.Ui.Core.Extensions` for logging.
2026-07-30 10:16:43 +02:00

30 lines
770 B
C#

namespace DocumentOperator.Application.Common.Configuration;
/// <summary>
/// Configuration settings for ZUGFeRD/Factur-X/XRechnung detection
/// </summary>
public class ZugferdSettings
{
/// <summary>
/// Exact ZUGFeRD/Factur-X/XRechnung file names to check (case-insensitive)
/// </summary>
public List<string> ZugferdFileNames { get; set; } = new()
{
"factur-x.xml",
"zugferd-invoice.xml",
"ZUGFeRD-invoice.xml",
"xrechnung.xml"
};
/// <summary>
/// Partial filename patterns for ZUGFeRD detection (case-insensitive)
/// </summary>
public List<string> ZugferdFileNamePatterns { get; set; } = new()
{
"factur",
"zugferd",
"xrechnung",
"peppol"
};
}