Enhanced clarity and detail in class documentation. Rephrased summaries and remarks for better understanding of the class and its properties, including the relationship between envelope and receiver. Clarified parameters `UserId` and `Status` for improved overall documentation.
94 lines
3.3 KiB
C#
94 lines
3.3 KiB
C#
using DigitalData.EmailProfilerDispatcher.Abstraction.Attributes;
|
|
using EnvelopeGenerator.Application.Envelopes.Queries.Read;
|
|
using EnvelopeGenerator.Application.Receivers.Queries.Read;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries.Read;
|
|
|
|
/// <summary>
|
|
/// Repräsentiert die Antwort für das Lesen eines Envelope-Empfängers.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Diese Klasse enthält Informationen über einen spezifischen Empfänger eines Umschlags (Envelope).
|
|
/// Sie verknüpft die Empfängerinformationen mit den zugehörigen Umschlagsdaten und bietet zusätzliche Metadaten.
|
|
/// </remarks>
|
|
/// <param name="UserId">Die eindeutige Kennung des Benutzers, der den Empfänger erstellt hat.</param>
|
|
/// <param name="Status">Der Status des Empfängers als numerischer Wert.</param>
|
|
public record ReadEnvelopeReceiverResponse(int UserId, int Status)
|
|
{
|
|
/// <summary>
|
|
/// Gibt die zusammengesetzte Kennung des Empfängers zurück, bestehend aus der Umschlags-ID und der Empfänger-ID.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Diese Eigenschaft kombiniert die eindeutige Kennung des Umschlags (EnvelopeId) und die des Empfängers (ReceiverId)
|
|
/// zu einer einzigen, leicht zugänglichen Struktur.
|
|
/// </remarks>
|
|
[NotMapped]
|
|
public (int Envelope, int Receiver) Id => (Envelope: EnvelopeId, Receiver: ReceiverId);
|
|
|
|
/// <summary>
|
|
/// Die eindeutige Kennung des zugehörigen Umschlags.
|
|
/// </summary>
|
|
[Required]
|
|
public int EnvelopeId { get; init; }
|
|
|
|
/// <summary>
|
|
/// Die eindeutige Kennung des Empfängers.
|
|
/// </summary>
|
|
[Required]
|
|
public int ReceiverId { get; init; }
|
|
|
|
/// <summary>
|
|
/// Die Reihenfolge des Empfängers innerhalb des Umschlags.
|
|
/// </summary>
|
|
public int Sequence { get; init; }
|
|
|
|
/// <summary>
|
|
/// Der Name des Empfängers. Kann als Platzhalter verwendet werden.
|
|
/// </summary>
|
|
[TemplatePlaceholder("[NAME_RECEIVER]")]
|
|
public string? Name { get; init; }
|
|
|
|
/// <summary>
|
|
/// Die Berufsbezeichnung des Empfängers.
|
|
/// </summary>
|
|
public string? JobTitle { get; init; }
|
|
|
|
/// <summary>
|
|
/// Der Firmenname des Empfängers.
|
|
/// </summary>
|
|
public string? CompanyName { get; init; }
|
|
|
|
/// <summary>
|
|
/// Eine private Nachricht, die mit dem Empfänger verknüpft ist.
|
|
/// </summary>
|
|
public string? PrivateMessage { get; init; }
|
|
|
|
/// <summary>
|
|
/// Das Datum und die Uhrzeit, wann der Empfänger hinzugefügt wurde.
|
|
/// </summary>
|
|
public DateTime AddedWhen { get; init; }
|
|
|
|
/// <summary>
|
|
/// Das Datum und die Uhrzeit, wann der Empfänger zuletzt geändert wurde (falls vorhanden).
|
|
/// </summary>
|
|
public DateTime? ChangedWhen { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gibt an, ob der Empfänger eine Telefonnummer hat.
|
|
/// </summary>
|
|
public bool HasPhoneNumber { get; init; }
|
|
|
|
/// <summary>
|
|
/// Die zugehörigen Umschlagsdaten.
|
|
/// </summary>
|
|
[Required]
|
|
public required ReadEnvelopeResponse Envelope { get; init; }
|
|
|
|
/// <summary>
|
|
/// Die Liste der Empfängerinformationen.
|
|
/// </summary>
|
|
[Required]
|
|
public IEnumerable<ReadReceiverResponse> Receiver { get; init; } = new List<ReadReceiverResponse>();
|
|
} |