using DocumentOperator.Application.Common.Interfaces; using DocumentOperator.Domain.Models.ValueObjects; using MediatR; namespace DocumentOperator.Application.Features.Documents.ValidatePdf; /// /// Handler for ValidatePdfQuery /// Orchestrates PDF validation using IPdfProcessor /// public class ValidatePdfHandler : IRequestHandler { private readonly IPdfProcessor _pdfProcessor; public ValidatePdfHandler(IPdfProcessor pdfProcessor) { _pdfProcessor = pdfProcessor; } /// /// Validates PDF and returns metadata /// public async Task Handle(ValidatePdfQuery request, CancellationToken cancellationToken) { // Value Object ? Byte Array byte[] pdfBytes = request.PdfContent.ToByteArray(); // DevExpress Service aufrufen (kann PdfProcessingException werfen) var metadata = await _pdfProcessor.ValidateAsync(pdfBytes); return metadata; } }