using EnvelopeGenerator.Common; namespace EnvelopeGenerator.Application.Histories.Queries.Read; //TODO: Add sender query /// /// Repräsentiert eine Abfrage für die Verlaufshistorie eines Umschlags. /// /// Die eindeutige Kennung des Umschlags. /// Der Status des Umschlags, der abgefragt werden soll. Kann optional angegeben werden, um die Ergebnisse zu filtern. /// Abfrage zur Steuerung, ob nur der aktuelle Status oder der gesamte Datensatz zurückgegeben wird. public record ReadHistoryQuery( int EnvelopeId, Constants.EnvelopeStatus? Status = null, bool? OnlyLast = true) { /// /// Abfrage, die angibt, worauf sich der Datensatz bezieht. Ob er sich auf den Empfänger, den Sender oder das System bezieht, wird durch 0, 1 bzw. 2 dargestellt. /// public Constants.ReferenceType? Related { get { if (Status is null) return null; var statusCode = ((int)Status).ToString(); return statusCode.FirstOrDefault() switch { '1' => (Constants.ReferenceType?)Constants.ReferenceType.Sender, '2' => (Constants.ReferenceType?)Constants.ReferenceType.Receiver, _ => (Constants.ReferenceType?)Constants.ReferenceType.System, }; } } };