feat(EnvelopeReceiverService): füge Methode ReadReceiverByEnvelopeAsync hinzu

- 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.
This commit is contained in:
Developer 02 2024-09-06 12:45:03 +02:00
parent a9ca1b71eb
commit c7b6e5bf24
4 changed files with 14 additions and 3 deletions

View File

@ -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<DataResult<IEnumerable<EnvelopeReceiverDto>>> ReadByUsernameAsync(string username, int? min_status = null, int? max_status = null, params int[] ignore_statuses);
Task<DataResult<string?>> ReadLastUsedReceiverNameByMail(string mail);
Task<DataResult<IEnumerable<ReceiverReadDto>>> ReadReceiverByEnvelopeAsync(string uuid);
}
}

View File

@ -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<string?>().Notice(LogLevel.None, Flag.NotFound) : Result.Success(er.Name);
}
}
public async Task<DataResult<IEnumerable<ReceiverReadDto>>> ReadReceiverByEnvelopeAsync(string uuid)
{
var receivers = await _repository.ReadReceiverByEnvelopeAsync(uuid);
var receiverDtos = _mapper.MapOrThrow<IEnumerable<ReceiverReadDto>>(receivers);
return Result.Success(receiverDtos);
}
}
}

View File

@ -23,6 +23,6 @@ namespace EnvelopeGenerator.Infrastructure.Contracts
Task<EnvelopeReceiver?> ReadLastByReceiver(string email);
Task<IEnumerable<Receiver>> ReadReceiverByEnvelope(string uuid);
Task<IEnumerable<Receiver>> ReadReceiverByEnvelopeAsync(string uuid);
}
}

View File

@ -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<IEnumerable<Receiver>> ReadReceiverByEnvelope(string uuid)
public async Task<IEnumerable<Receiver>> ReadReceiverByEnvelopeAsync(string uuid)
=> await ReadWhere(uuid: uuid, withEnvelope: false, withReceiver: true)
.Select(er => er.Receiver!)
.ToListAsync();