Refactor envelope handling and introduce new queries

Restructured the `CreateEnvelope` functionality by moving the `CreateEnvelopeCommand` and related DTOs to a new namespace. Der `EnvelopeReceiverController` wurde aktualisiert, um diese Änderungen widerzuspiegeln, und die Parameter wurden zur besseren Übersichtlichkeit umbenannt. Es wurden neue Abfragesätze für das Lesen von Umschlag-Empfängern und definierte Antwortstrukturen eingeführt, wodurch die Gesamtorganisation und die Wartbarkeit der Codebasis verbessert wurden.

Übersetzt mit DeepL.com (kostenlose Version)
This commit is contained in:
Developer 02
2025-04-07 12:03:34 +02:00
parent 261d1b3db9
commit b3a2e1559a
10 changed files with 117 additions and 19 deletions

View File

@@ -0,0 +1,15 @@
using EnvelopeGenerator.Application.Envelopes.Queries.Read;
using EnvelopeGenerator.Application.Receivers.Queries.Read;
using MediatR;
namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries.Read;
/// <summary>
/// Stellt eine Abfrage zum Lesen eines Envelope-Empfängers dar.
/// </summary>
public record ReadEnvelopeReceiverQuery : EnvelopeReceiverQuery, IRequest<ReadEnvelopeReceiverResponse>
{
public ReadEnvelopeQuery? Envelope { get; init; }
public ReadReceiverQuery? Receiver { get; init; }
};

View File

@@ -0,0 +1,45 @@
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
using EnvelopeGenerator.Application.Receivers.Queries.Read;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries.Read;
/// <summary>
/// Stellt eine Antwort auf die Abfrage zum Lesen eines Envelope-Empfängers dar.
/// </summary>
/// <param name="Receiver">Der angeforderte Empfänger.</param>
public record ReadEnvelopeReceiverResponse(int UserId, int Status)
{
[NotMapped]
public (int Envelope, int Receiver) Id => (Envelope: EnvelopeId, Receiver: ReceiverId);
[Required]
public int EnvelopeId { get; init; }
[Required]
public int ReceiverId { get; init; }
public int Sequence { get; init; }
[TemplatePlaceholder("[NAME_RECEIVER]")]
public string? Name { get; init; }
public string? JobTitle { get; init; }
public string? CompanyName { get; init; }
public string? PrivateMessage { get; init; }
public DateTime AddedWhen { get; init; }
public DateTime? ChangedWhen { get; init; }
public bool HasPhoneNumber { get; init; }
[Required]
public required ReadReceiverResponse Envelope { get; init; }
[Required]
public required ReadReceiverResponse Receiver { get; init; }
}