Add Status parameter to EnvelopeHistoryQuery records

Updated EnvelopeHistoryQuery to include a new `Status` parameter for describing the envelope's status. Modified the `ReferenceType` property to return `ReferenceType.System` when neither the envelope's `User` nor the `Receiver` is defined.

Updated ReadEnvelopeHistoryQuery to include the `Status` parameter and set default values of `null` for `Envelope` and `Receiver`, ensuring consistency with the base class.
This commit is contained in:
Developer 02 2025-04-10 18:46:37 +02:00
parent 98290c7b28
commit 7bbed3890e
2 changed files with 16 additions and 8 deletions

View File

@ -10,14 +10,21 @@ namespace EnvelopeGenerator.Application.EnvelopeHistories;
/// <param name="EnvelopeId">Die eindeutige Kennung des Umschlags.</param>
/// <param name="Envelope">Die Abfrage, die den Umschlag beschreibt.</param>
/// <param name="Receiver">Die Abfrage, die den Empfänger beschreibt.</param>
/// <param name="Status">Die Abfrage, die den Status des Umschlags beschreibt.</param>
public record EnvelopeHistoryQuery<TEnvelopeQuery, TReceiverQuery>(int EnvelopeId, TEnvelopeQuery? Envelope, TReceiverQuery? Receiver = null, StatusQuery? Status = null)
where TEnvelopeQuery : EnvelopeQuery
where TReceiverQuery : ReceiverQuery
{
public ReferenceType ReferenceType =>
Envelope?.User is not null
? ReferenceType.Receiver
: Receiver is not null
? ReferenceType.Receiver
/// <summary>
/// Gibt den Referenztyp des Umschlags an.
/// Wenn der Benutzer des Umschlags definiert ist, wird der Referenztyp als Empfänger betrachtet.
/// Andernfalls, wenn ein Empfänger definiert ist, wird der Referenztyp ebenfalls als Empfänger betrachtet.
/// Ist keiner von beiden definiert, wird der Referenztyp als System betrachtet.
/// </summary>
public ReferenceType ReferenceType =>
Envelope?.User is not null
? ReferenceType.Receiver
: Receiver is not null
? ReferenceType.Receiver
: ReferenceType.System;
}

View File

@ -9,9 +9,10 @@ namespace EnvelopeGenerator.Application.EnvelopeHistories.Queries.Read;
/// <param name="EnvelopeId">Die eindeutige Kennung des Umschlags.</param>
/// <param name="Envelope">Die Abfrage, die den Umschlag beschreibt.</param>
/// <param name="Receiver">Die Abfrage, die den Empfänger beschreibt.</param>
/// <param name="Status">Die Abfrage, die den Status des Umschlags beschreibt.</param>
public record ReadEnvelopeHistoryQuery(
int EnvelopeId,
ReadEnvelopeQuery? Envelope,
ReadReceiverQuery? Receiver,
StatusQuery? Status)
ReadEnvelopeQuery? Envelope = null,
ReadReceiverQuery? Receiver = null,
StatusQuery? Status = null)
: EnvelopeHistoryQuery<ReadEnvelopeQuery, ReadReceiverQuery>(EnvelopeId, Envelope, Receiver, Status);