From c7b6e5bf24638f3d21ca234699e33062255e9b59 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Fri, 6 Sep 2024 12:45:03 +0200 Subject: [PATCH] =?UTF-8?q?feat(EnvelopeReceiverService):=20f=C3=BCge=20Me?= =?UTF-8?q?thode=20ReadReceiverByEnvelopeAsync=20hinzu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Neue Methode `ReadReceiverByEnvelopeAsync` zur `EnvelopeReceiverService`-Klasse hinzugefügt, um Empfänger anhand der Umschlag-UUID abzurufen. - Die `EnvelopeReceiverService`-Klasse wurde angepasst, um das Mapping auf `ReceiverReadDto` für die neue Methode zu ermöglichen. - Die Using-Anweisungen wurden aktualisiert, um das erforderliche DTO (`EnvelopeGenerator.Application.DTOs.Receiver`) für die neue Funktionalität einzubinden. --- .../Contracts/IEnvelopeReceiverService.cs | 3 +++ .../Services/EnvelopeReceiverService.cs | 10 +++++++++- .../Contracts/IEnvelopeReceiverRepository.cs | 2 +- .../Repositories/EnvlopeReceiverRepository.cs | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/EnvelopeGenerator.Application/Contracts/IEnvelopeReceiverService.cs b/EnvelopeGenerator.Application/Contracts/IEnvelopeReceiverService.cs index d565d39a..0d5f476a 100644 --- a/EnvelopeGenerator.Application/Contracts/IEnvelopeReceiverService.cs +++ b/EnvelopeGenerator.Application/Contracts/IEnvelopeReceiverService.cs @@ -1,6 +1,7 @@ using DigitalData.Core.Abstractions.Application; using DigitalData.Core.DTO; using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver; +using EnvelopeGenerator.Application.DTOs.Receiver; using EnvelopeGenerator.Domain.Entities; namespace EnvelopeGenerator.Application.Contracts @@ -27,5 +28,7 @@ namespace EnvelopeGenerator.Application.Contracts Task>> ReadByUsernameAsync(string username, int? min_status = null, int? max_status = null, params int[] ignore_statuses); Task> ReadLastUsedReceiverNameByMail(string mail); + + Task>> ReadReceiverByEnvelopeAsync(string uuid); } } \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Services/EnvelopeReceiverService.cs b/EnvelopeGenerator.Application/Services/EnvelopeReceiverService.cs index e57a1729..9eecce1c 100644 --- a/EnvelopeGenerator.Application/Services/EnvelopeReceiverService.cs +++ b/EnvelopeGenerator.Application/Services/EnvelopeReceiverService.cs @@ -3,6 +3,7 @@ using DigitalData.Core.Application; using DigitalData.Core.DTO; using EnvelopeGenerator.Application.Contracts; using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver; +using EnvelopeGenerator.Application.DTOs.Receiver; using EnvelopeGenerator.Application.Resources; using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.Infrastructure.Contracts; @@ -127,6 +128,13 @@ namespace EnvelopeGenerator.Application.Services { var er = await _repository.ReadLastByReceiver(mail); return er is null ? Result.Fail().Notice(LogLevel.None, Flag.NotFound) : Result.Success(er.Name); - } + } + + public async Task>> ReadReceiverByEnvelopeAsync(string uuid) + { + var receivers = await _repository.ReadReceiverByEnvelopeAsync(uuid); + var receiverDtos = _mapper.MapOrThrow>(receivers); + return Result.Success(receiverDtos); + } } } \ No newline at end of file diff --git a/EnvelopeGenerator.Infrastructure/Contracts/IEnvelopeReceiverRepository.cs b/EnvelopeGenerator.Infrastructure/Contracts/IEnvelopeReceiverRepository.cs index 57d14929..a12e816b 100644 --- a/EnvelopeGenerator.Infrastructure/Contracts/IEnvelopeReceiverRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Contracts/IEnvelopeReceiverRepository.cs @@ -23,6 +23,6 @@ namespace EnvelopeGenerator.Infrastructure.Contracts Task ReadLastByReceiver(string email); - Task> ReadReceiverByEnvelope(string uuid); + Task> ReadReceiverByEnvelopeAsync(string uuid); } } \ No newline at end of file diff --git a/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs b/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs index ac66662b..2d207afa 100644 --- a/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs @@ -81,7 +81,7 @@ namespace EnvelopeGenerator.Infrastructure.Repositories return await _dbSet.Where(er => er.Receiver!.EmailAddress == email).OrderBy(er => er.EnvelopeId).LastOrDefaultAsync(); } - public async Task> ReadReceiverByEnvelope(string uuid) + public async Task> ReadReceiverByEnvelopeAsync(string uuid) => await ReadWhere(uuid: uuid, withEnvelope: false, withReceiver: true) .Select(er => er.Receiver!) .ToListAsync();