diff --git a/EnvelopeGenerator.Application/Contracts/IEnvelopeService.cs b/EnvelopeGenerator.Application/Contracts/IEnvelopeService.cs index 0e845adf..88b8ddeb 100644 --- a/EnvelopeGenerator.Application/Contracts/IEnvelopeService.cs +++ b/EnvelopeGenerator.Application/Contracts/IEnvelopeService.cs @@ -8,8 +8,8 @@ namespace EnvelopeGenerator.Application.Contracts { public interface IEnvelopeService : IBasicCRUDService { - Task>> ReadAllWithAsync(bool documents = false, bool envelopeReceivers = false, bool history = false, bool documentReceiverElement = false); + Task>> ReadAllWithAsync(bool documents = false, bool history = false, bool documentReceiverElement = false); - Task> ReadByUuidAsync(string uuid, string? signature = null, bool withDocuments = false, bool withEnvelopeReceivers = false, bool withHistory = false, bool withDocumentReceiverElement = false, bool withUser = false, bool withAll = false); + Task> ReadByUuidAsync(string uuid, bool withDocuments = false, bool withHistory = false, bool withDocumentReceiverElement = false, bool withUser = false, bool withAll = false); } } \ No newline at end of file diff --git a/EnvelopeGenerator.Application/DTOs/EnvelopeDto.cs b/EnvelopeGenerator.Application/DTOs/EnvelopeDto.cs index 7203c1d2..eab0d471 100644 --- a/EnvelopeGenerator.Application/DTOs/EnvelopeDto.cs +++ b/EnvelopeGenerator.Application/DTOs/EnvelopeDto.cs @@ -34,6 +34,5 @@ namespace EnvelopeGenerator.Application.DTOs string? StatusTranslated, string? ContractTypeTranslated, IEnumerable? Documents, - IEnumerable? EnvelopeReceivers, IEnumerable? History); } \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Services/EnvelopeService.cs b/EnvelopeGenerator.Application/Services/EnvelopeService.cs index a02319b8..07d00734 100644 --- a/EnvelopeGenerator.Application/Services/EnvelopeService.cs +++ b/EnvelopeGenerator.Application/Services/EnvelopeService.cs @@ -20,16 +20,16 @@ namespace EnvelopeGenerator.Application.Services _logger = logger; } - public async Task>> ReadAllWithAsync(bool documents = false, bool envelopeReceivers = false, bool history = false, bool documentReceiverElement = false) + public async Task>> ReadAllWithAsync(bool documents = false, bool history = false, bool documentReceiverElement = false) { - var envelopes = await _repository.ReadAllWithAsync(documents: documents, envelopeReceivers: envelopeReceivers, history: history, documentReceiverElement: documentReceiverElement); + var envelopes = await _repository.ReadAllWithAsync(documents: documents, history: history, documentReceiverElement: documentReceiverElement); var readDto = _mapper.MapOrThrow>(envelopes); return Result.Success(readDto); } - public async Task> ReadByUuidAsync(string uuid, string? signature = null, bool withDocuments = false, bool withEnvelopeReceivers = false, bool withHistory = false, bool withDocumentReceiverElement = false, bool withUser = false, bool withAll = false) + public async Task> ReadByUuidAsync(string uuid, bool withDocuments = false, bool withHistory = false, bool withDocumentReceiverElement = false, bool withUser = false, bool withAll = false) { - var envelope = await _repository.ReadByUuidAsync(uuid: uuid, signature: signature, withDocuments: withDocuments, withEnvelopeReceivers: withEnvelopeReceivers, withHistory: withHistory, withDocumentReceiverElement: withDocumentReceiverElement, withUser:withUser, withAll:withAll); + var envelope = await _repository.ReadByUuidAsync(uuid: uuid, withDocuments: withDocuments, withHistory: withHistory, withDocumentReceiverElement: withDocumentReceiverElement, withUser:withUser, withAll:withAll); if (envelope is null) return Result.Fail(); diff --git a/EnvelopeGenerator.Domain/Entities/Envelope.cs b/EnvelopeGenerator.Domain/Entities/Envelope.cs index 710ceb5c..ba6b1310 100644 --- a/EnvelopeGenerator.Domain/Entities/Envelope.cs +++ b/EnvelopeGenerator.Domain/Entities/Envelope.cs @@ -115,8 +115,6 @@ namespace EnvelopeGenerator.Domain.Entities public IEnumerable? Documents { get; set; } - public IEnumerable? EnvelopeReceivers { get; set; } - public IEnumerable? History { get; set; } } } \ No newline at end of file diff --git a/EnvelopeGenerator.Infrastructure/Contracts/IEnvelopeRepository.cs b/EnvelopeGenerator.Infrastructure/Contracts/IEnvelopeRepository.cs index facf3815..9f027a45 100644 --- a/EnvelopeGenerator.Infrastructure/Contracts/IEnvelopeRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Contracts/IEnvelopeRepository.cs @@ -5,8 +5,8 @@ namespace EnvelopeGenerator.Infrastructure.Contracts { public interface IEnvelopeRepository : ICRUDRepository { - Task> ReadAllWithAsync(bool documents = false, bool envelopeReceivers = false, bool history = false, bool documentReceiverElement = true); + Task> ReadAllWithAsync(bool documents = false, bool history = false, bool documentReceiverElement = false); - Task ReadByUuidAsync(string uuid, string? signature = null, bool withDocuments = false, bool withEnvelopeReceivers = false, bool withHistory = false, bool withDocumentReceiverElement = false, bool withUser = false, bool withAll = false); + Task ReadByUuidAsync(string uuid, bool withDocuments = false, bool withHistory = false, bool withDocumentReceiverElement = false, bool withUser = false, bool withAll = false); } } \ No newline at end of file diff --git a/EnvelopeGenerator.Infrastructure/Repositories/EnvelopeRepository.cs b/EnvelopeGenerator.Infrastructure/Repositories/EnvelopeRepository.cs index 0059ac3e..73ac63a0 100644 --- a/EnvelopeGenerator.Infrastructure/Repositories/EnvelopeRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Repositories/EnvelopeRepository.cs @@ -12,7 +12,7 @@ namespace EnvelopeGenerator.Infrastructure.Repositories { } - public async Task> ReadAllWithAsync(bool documents = false, bool receivers = false, bool history = false, bool documentReceiverElement = false) + public async Task> ReadAllWithAsync(bool documents = false, bool history = false, bool documentReceiverElement = false) { var query = _dbSet.AsQueryable(); @@ -22,31 +22,22 @@ namespace EnvelopeGenerator.Infrastructure.Repositories else query = query.Include(e => e.Documents); - if (receivers) - query = query.Include(e => e.EnvelopeReceivers); - if (history) query = query.Include(e => e.History); return await query.ToListAsync(); } - public async Task ReadByUuidAsync(string uuid, string? signature = null, bool withDocuments = false, bool withEnvelopeReceivers = false, bool withHistory = false, bool withDocumentReceiverElement = false, bool withUser = false, bool withAll = false) + public async Task ReadByUuidAsync(string uuid, bool withDocuments = false, bool withHistory = false, bool withDocumentReceiverElement = false, bool withUser = false, bool withAll = false) { var query = _dbSet.Where(e => e.Uuid == uuid); - if (signature is not null) - query = query.Where(e => e.EnvelopeReceivers != null && e.EnvelopeReceivers.Any(er => er.Receiver != null && er.Receiver.Signature == signature)); - if (withAll || withDocuments) if (withAll || withDocumentReceiverElement) query = query.Include(e => e.Documents!).ThenInclude(d => d.Elements); else query = query.Include(e => e.Documents); - if (withAll || withEnvelopeReceivers) - query = query.Include(e => e.EnvelopeReceivers!).ThenInclude(er => er.Receiver); - if (withAll || withUser) query = query.Include(e => e.User!); diff --git a/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs b/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs index b19ee540..2e01933a 100644 --- a/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs +++ b/EnvelopeGenerator.Infrastructure/Repositories/EnvlopeReceiverRepository.cs @@ -24,9 +24,10 @@ namespace EnvelopeGenerator.Infrastructure.Repositories query = query.Where(er => er.Receiver != null && er.Receiver.Signature == signature); if (withEnvelope) - query = query.Include(er => er.Envelope).ThenInclude(e => e!.Documents!).ThenInclude(d => d.Elements) + query = query + .Include(er => er.Envelope).ThenInclude(e => e!.Documents!).ThenInclude(d => d.Elements) .Include(er => er.Envelope).ThenInclude(e => e!.History) - .Include(er => er.Envelope).ThenInclude(e => e!.History); + .Include(er => er.Envelope).ThenInclude(e => e!.User); if (withReceiver) query = query.Include(er => er.Receiver); diff --git a/EnvelopeGenerator.Web/Controllers/Test/TestEnvelopeController.cs b/EnvelopeGenerator.Web/Controllers/Test/TestEnvelopeController.cs index 0c0d337a..bbde679d 100644 --- a/EnvelopeGenerator.Web/Controllers/Test/TestEnvelopeController.cs +++ b/EnvelopeGenerator.Web/Controllers/Test/TestEnvelopeController.cs @@ -17,16 +17,16 @@ namespace EnvelopeGenerator.Web.Controllers.Test public override Task GetAll() => base.GetAll(); [HttpGet] - public async Task GetAll([FromQuery] string? envelopeKey = default, [FromQuery] bool withDocuments = false, [FromQuery] bool withEnvelopeReceivers = false, [FromQuery] bool withHistory = false, [FromQuery] bool withDocumentReceiverElement = false, [FromQuery] bool withUser = false, [FromQuery] bool withAll = true) + public async Task GetAll([FromQuery] string? envelopeKey = default, [FromQuery] bool withDocuments = false, [FromQuery] bool withHistory = false, [FromQuery] bool withDocumentReceiverElement = false, [FromQuery] bool withUser = false, [FromQuery] bool withAll = true) { if(envelopeKey is not null) { - var decoded = envelopeKey.DecodeEnvelopeReceiverId(); - + (var uuid, var signature) = envelopeKey.DecodeEnvelopeReceiverId(); + if (uuid is null) + return BadRequest("UUID is null"); var envlopeServiceResult = await _service.ReadByUuidAsync( - uuid: decoded.EnvelopeUuid, - signature: decoded.ReceiverSignature, - withDocuments: withDocuments, withEnvelopeReceivers: withEnvelopeReceivers, withHistory: withHistory, withDocumentReceiverElement:withDocumentReceiverElement, withUser:withUser, withAll:withAll); + uuid: uuid, + withDocuments: withDocuments, withHistory: withHistory, withDocumentReceiverElement:withDocumentReceiverElement, withUser:withUser, withAll:withAll); if (envlopeServiceResult.IsSuccess) { @@ -35,7 +35,7 @@ namespace EnvelopeGenerator.Web.Controllers.Test return NotFound(); } - var result = await _service.ReadAllWithAsync(documents: withDocuments, envelopeReceivers: withEnvelopeReceivers, history: withHistory); + var result = await _service.ReadAllWithAsync(documents: withDocuments, history: withHistory); if (result.IsSuccess) { return Ok(result); diff --git a/EnvelopeGenerator.Web/Views/Home/ShowEnvelope.cshtml b/EnvelopeGenerator.Web/Views/Home/ShowEnvelope.cshtml index d25b4fb0..2684b0cc 100644 --- a/EnvelopeGenerator.Web/Views/Home/ShowEnvelope.cshtml +++ b/EnvelopeGenerator.Web/Views/Home/ShowEnvelope.cshtml @@ -8,9 +8,7 @@ @{ var envelope = Model.Envelope; var document = Model.Envelope?.Documents?.FirstOrDefault(); - var receiver = Model.Envelope?.EnvelopeReceivers?.FirstOrDefault(); var sender = Model.Envelope?.User; - var receiverName = receiver?.Name ?? string.Empty; var pages = document?.Elements?.Select(e => e.Page) ?? Array.Empty(); var stPageIndexes = string.Join(pages.Count() > 1 ? ", " : "", pages.Take(pages.Count() - 1)) + (pages.Count() > 1 ? " und " : "") + pages.LastOrDefault(); @@ -20,7 +18,7 @@ - +
...
@@ -37,7 +35,7 @@
@($"{envelope?.Title}")

@($"Sie haben {(pages.Count())} Briefe zu unterschreiben. Bitte prüfen Sie die Seiten {stPageIndexes}.")

-

Erstellt am @envelope.?AddedWhen von @sender?.Prename @sender?.Name. Sie können den Absender über @sender?.Email kontaktieren.

+

Erstellt am @envelope?.AddedWhen von @sender?.Prename @sender?.Name. Sie können den Absender über @sender?.Email kontaktieren.