refactor: Move DTOs from Domain to Application layer

- Move PdfMetadata, PdfAMetadata from Domain.Models.ValueObjects to Application.Common.DTOs
- Move AttachmentInfo, AttachmentMetadata from Domain.Models.ValueObjects to Application.Common.DTOs
- Reason: DTOs belong in Application layer, Domain should have zero external dependencies (Clean Architecture)
This commit is contained in:
2026-07-20 11:55:01 +02:00
parent 4085a88485
commit d123bc996e
6 changed files with 161 additions and 79 deletions

View File

@@ -0,0 +1,23 @@
namespace DocumentOperator.Application.Common.DTOs;
public sealed class PdfMetadata(
int pageCount,
long fileSizeBytes,
string pdfVersion,
bool hasAttachments,
int attachmentCount)
{
public int PageCount { get; } = pageCount;
public long FileSizeBytes { get; } = fileSizeBytes;
public string PdfVersion { get; } = pdfVersion;
public bool HasAttachments { get; } = hasAttachments;
public int AttachmentCount { get; } = attachmentCount;
// Computed Property (berechnet aus FileSizeBytes)
public double FileSizeMB => FileSizeBytes / 1024.0 / 1024.0;
public override string ToString()
{
return $"PDF: {PageCount} pages, {FileSizeMB:F2} MB, Version {PdfVersion}, Attachments: {AttachmentCount}";
}
}