108 lines
5.2 KiB
C#
108 lines
5.2 KiB
C#
using EnvelopeGenerator.Application.Envelopes.Queries;
|
|
using MediatR;
|
|
using EnvelopeGenerator.Domain;
|
|
using EnvelopeGenerator.Application.Dto.EnvelopeReceiver;
|
|
using EnvelopeGenerator.Application.Receivers.Queries;
|
|
|
|
namespace EnvelopeGenerator.Application.EnvelopeReceivers.Queries;
|
|
|
|
/// <summary>
|
|
/// Repräsentiert eine Abfrage zum Lesen eines Envelope-Empfängers.
|
|
/// Invalid (0): Ungültiger Status.
|
|
/// EnvelopeCreated (1001): Der Umschlag wurde erstellt.
|
|
/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert.
|
|
/// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant.
|
|
/// EnvelopeSent (1004): Der Umschlag wurde versendet. (Nicht verwendet)
|
|
/// EnvelopePartlySigned (1005): Der Umschlag wurde teilweise unterschrieben.
|
|
/// EnvelopeCompletelySigned (1006): Der Umschlag wurde vollständig unterschrieben.
|
|
/// EnvelopeReportCreated (1007): Ein Abschlussbericht wurde für den Umschlag erstellt.
|
|
/// EnvelopeArchived (1008): Der Umschlag wurde archiviert.
|
|
/// EnvelopeDeleted (1009): Der Umschlag wurde gelöscht.
|
|
/// AccessCodeRequested (2001): Der Zugriffscode wurde angefordert.
|
|
/// AccessCodeCorrect (2002): Der Zugriffscode war korrekt.
|
|
/// AccessCodeIncorrect (2003): Der Zugriffscode war falsch.
|
|
/// DocumentOpened (2004): Das Dokument wurde geöffnet.
|
|
/// DocumentSigned (2005): Ein Dokument wurde unterschrieben.
|
|
/// SignatureConfirmed (2006): Die Signatur wurde bestätigt.
|
|
/// DocumentRejected (2007): Ein Dokument wurde abgelehnt.
|
|
/// EnvelopeShared (2008): Der Umschlag wurde geteilt.
|
|
/// EnvelopeViewed (2009): Der Umschlag wurde angesehen.
|
|
/// DocumentForwarded (4001): Das Dokument wurde weitergeleitet.
|
|
/// MessageInvitationSent (3001): Einladung wurde gesendet (vom Trigger verwendet).
|
|
/// MessageAccessCodeSent (3002): Zugriffscode wurde gesendet.
|
|
/// MessageConfirmationSent (3003): Bestätigungsnachricht wurde gesendet.
|
|
/// MessageDeletionSent (3004): Löschbenachrichtigung wurde gesendet.
|
|
/// MessageCompletionSent (3005): Abschlussbenachrichtigung wurde gesendet.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Diese Abfrage kombiniert Informationen über einen Umschlag (<see cref="ReadEnvelopeQuery"/>)
|
|
/// und einen Empfänger (<see cref="ReadReceiverQuery"/>), um eine vollständige Antwort
|
|
/// (<see cref="ReadEnvelopeReceiverResponse"/>) zu generieren.
|
|
/// Die Antwort enthält Details wie den Status, die Zuordnung zwischen Umschlag und Empfänger
|
|
/// sowie zusätzliche Metadaten.
|
|
/// </remarks>
|
|
/// <param name="Status">Umschlag oder Empfängerstatus.</param>
|
|
public record ReadEnvelopeReceiverQuery : IRequest<EnvelopeReceiverDto>
|
|
{
|
|
/// <summary>
|
|
/// Der Umschlag, der mit dem Empfänger verknüpft ist.
|
|
/// </summary>
|
|
public ReadEnvelopeQuery? Envelope { get; init; }
|
|
|
|
/// <summary>
|
|
/// Der Empfänger, der mit dem Umschlag verknüpft ist.
|
|
/// </summary>
|
|
public ReadReceiverQuery? Receiver { get; init; }
|
|
|
|
/// <summary>
|
|
/// Abfrage des Status des Umschlags
|
|
/// </summary>
|
|
public EnvelopeStatusQuery? Status { get; init; }
|
|
};
|
|
|
|
/// <summary>
|
|
/// Repräsentiert den Status eines Umschlags und dessen Beziehung zum Empfänger. (vgl. auch <see cref="Constants.EnvelopeStatus"/>
|
|
/// Invalid (0): Ungültiger Status.
|
|
/// EnvelopeCreated (1001): Der Umschlag wurde erstellt.
|
|
/// EnvelopeSaved (1002): Der Umschlag wurde gespeichert.
|
|
/// EnvelopeQueued (1003): Der Umschlag wurde zur Verarbeitung eingeplant.
|
|
/// EnvelopeSent (1004): Der Umschlag wurde versendet. (Nicht verwendet)
|
|
/// EnvelopePartlySigned (1005): Der Umschlag wurde teilweise unterschrieben.
|
|
/// EnvelopeCompletelySigned (1006): Der Umschlag wurde vollständig unterschrieben.
|
|
/// EnvelopeReportCreated (1007): Ein Abschlussbericht wurde für den Umschlag erstellt.
|
|
/// EnvelopeArchived (1008): Der Umschlag wurde archiviert.
|
|
/// EnvelopeDeleted (1009): Der Umschlag wurde gelöscht.
|
|
/// AccessCodeRequested (2001): Der Zugriffscode wurde angefordert.
|
|
/// AccessCodeCorrect (2002): Der Zugriffscode war korrekt.
|
|
/// AccessCodeIncorrect (2003): Der Zugriffscode war falsch.
|
|
/// DocumentOpened (2004): Das Dokument wurde geöffnet.
|
|
/// DocumentSigned (2005): Ein Dokument wurde unterschrieben.
|
|
/// SignatureConfirmed (2006): Die Signatur wurde bestätigt.
|
|
/// DocumentRejected (2007): Ein Dokument wurde abgelehnt.
|
|
/// EnvelopeShared (2008): Der Umschlag wurde geteilt.
|
|
/// EnvelopeViewed (2009): Der Umschlag wurde angesehen.
|
|
/// DocumentForwarded (4001): Das Dokument wurde weitergeleitet.
|
|
/// MessageInvitationSent (3001): Einladung wurde gesendet (vom Trigger verwendet).
|
|
/// MessageAccessCodeSent (3002): Zugriffscode wurde gesendet.
|
|
/// MessageConfirmationSent (3003): Bestätigungsnachricht wurde gesendet.
|
|
/// MessageDeletionSent (3004): Löschbenachrichtigung wurde gesendet.
|
|
/// MessageCompletionSent (3005): Abschlussbenachrichtigung wurde gesendet.
|
|
/// </summary>
|
|
public record EnvelopeStatusQuery
|
|
{
|
|
/// <summary>
|
|
/// Der minimale Statuswert, der berücksichtigt werden soll.
|
|
/// </summary>
|
|
public int? Min { get; init; }
|
|
|
|
/// <summary>
|
|
/// Der maximale Statuswert, der berücksichtigt werden soll.
|
|
/// </summary>
|
|
public int? Max { get; init; }
|
|
|
|
/// <summary>
|
|
/// Eine Liste von Statuswerten, die ignoriert werden sollen.
|
|
/// </summary>
|
|
public int[]? Ignore { get; init; }
|
|
}
|