Updated the `EnvelopeHistoryQuery` to determine `ReferenceType` based on the presence of a `Sender` instead of a `User`. In the `EnvelopeQuery`, replaced the `User` parameter with `Sender`, and updated related properties to reflect this change. This refactor shifts the focus from a user-centric model to a sender-centric model for envelope queries.
31 lines
1.5 KiB
C#
31 lines
1.5 KiB
C#
using EnvelopeGenerator.Application.Envelopes;
|
|
using EnvelopeGenerator.Application.Receivers;
|
|
using static EnvelopeGenerator.Common.Constants;
|
|
|
|
namespace EnvelopeGenerator.Application.EnvelopeHistories;
|
|
|
|
/// <summary>
|
|
/// Repräsentiert eine Abfrage für die Verlaufshistorie eines Umschlags.
|
|
/// </summary>
|
|
/// <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
|
|
{
|
|
/// <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?.Sender is not null
|
|
? ReferenceType.Receiver
|
|
: Receiver is not null
|
|
? ReferenceType.Receiver
|
|
: ReferenceType.System;
|
|
}
|