From 11f489655641c585c9289061ffc77adcc1a097db Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 14 Apr 2025 16:12:07 +0200 Subject: [PATCH] =?UTF-8?q?ReadDocumentQuery=20und=20Handler=20zum=20Abruf?= =?UTF-8?q?en=20von=20Dokumenten=20hinzuf=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Führt die Struktur `ReadDocumentQuery` zur Abfrage von Dokumenten anhand ihrer eindeutigen Kennung oder der zugehörigen Umschlagkennung ein und implementiert die Schnittstelle `IRequest` von MediatR. Eine neue Handler-Klasse, `ReadDocumentQueryHandler`, wird erstellt, um die Abfrage zu verarbeiten, obwohl die Verarbeitungslogik noch nicht implementiert ist. Außerdem wird eine Antwortstruktur, `ReadDocumentResponse`, definiert, um die Daten zu kapseln, die beim Lesen eines Dokuments zurückgegeben werden, einschließlich der Eigenschaften für die ID des Dokuments, die Umschlag-ID, das Hinzufügedatum und die Binärdaten. Die erforderlichen Namespaces werden für die richtige Organisation und Funktionalität hinzugefügt. --- .../Queries/Read/ReadDocumentQuery.cs | 12 ++++++++++++ .../Queries/Read/ReadDocumentQueryHandler.cs | 19 +++++++++++++++++++ .../Queries/Read/ReadDocumentResponse.cs | 15 +++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQuery.cs create mode 100644 EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQueryHandler.cs create mode 100644 EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentResponse.cs diff --git a/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQuery.cs b/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQuery.cs new file mode 100644 index 00000000..9f05f21a --- /dev/null +++ b/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQuery.cs @@ -0,0 +1,12 @@ +using MediatR; + +namespace EnvelopeGenerator.Application.Documents.Queries.Read; + +/// +/// Represents a query to read a document based on its unique identifier or associated envelope identifier. +/// +/// The unique identifier of the document. Optional. +/// The identifier of the envelope associated with the document. Optional. +public record ReadDocumentQuery(int? Id = null, int? EnvelopeId = null) : IRequest +{ +} diff --git a/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQueryHandler.cs b/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQueryHandler.cs new file mode 100644 index 00000000..af4e1a74 --- /dev/null +++ b/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentQueryHandler.cs @@ -0,0 +1,19 @@ +using EnvelopeGenerator.Application.Contracts.Repositories; +using MediatR; + +namespace EnvelopeGenerator.Application.Documents.Queries.Read; + +public class ReadDocumentQueryHandler : IRequestHandler +{ + public IEnvelopeDocumentRepository _repo; + + public ReadDocumentQueryHandler(IEnvelopeDocumentRepository envelopeDocumentRepository) + { + _repo = envelopeDocumentRepository; + } + + public Task Handle(ReadDocumentQuery query, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } +} diff --git a/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentResponse.cs b/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentResponse.cs new file mode 100644 index 00000000..7d9b6ea0 --- /dev/null +++ b/EnvelopeGenerator.Application/Documents/Queries/Read/ReadDocumentResponse.cs @@ -0,0 +1,15 @@ +namespace EnvelopeGenerator.Application.Documents.Queries.Read; + +/// +/// Represents the response for reading a document. +/// +/// The unique identifier of the document. +/// The identifier of the associated envelope. +/// The date and time when the document was added. +/// The binary data of the document, if available. +public record ReadDocumentResponse( + int Guid, + int EnvelopeId, + DateTime AddedWhen, + byte[]? ByteData +); \ No newline at end of file