Files
DXApp/DXApp.TemplateKitProject/Services/ZugferdImportService.cs
2026-05-21 14:35:02 +02:00

30 lines
786 B
C#

using DXApp.TemplateKitProject.Data;
using DXApp.TemplateKitProject.Models;
namespace DXApp.TemplateKitProject.Services;
public class ZugferdImportService(
ZugferdExtractorService extractor,
ZugferdParserService parser,
AppDbContext db,
ILogger<ZugferdImportService> logger)
{
public async Task<ZugferdInvoice?> ImportAsync(Stream pdfStream, string sourceType)
{
var xml = extractor.ExtractXml(pdfStream);
if (xml is null)
{
logger.LogWarning("Kein ZUGFeRD-XML in der PDF-Datei gefunden.");
return null;
}
var invoice = parser.Parse(xml);
invoice.SourceType = sourceType;
db.ZugferdInvoices.Add(invoice);
await db.SaveChangesAsync();
return invoice;
}
}