diff --git a/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs b/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs index 0f68e78c..7dadecd7 100644 --- a/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs +++ b/EnvelopeGenerator.Application/Envelopes/Queries/ReadEnvelopeQuery.cs @@ -24,6 +24,12 @@ public record ReadEnvelopeQuery : EnvelopeQueryBase, IRequest public int? UserId { get; init; } + /// + /// Optionaler Zeitfilter in Minuten; wenn gesetzt, werden nur Umschläge zurückgegeben, + /// deren letzte Änderung mindestens diese Anzahl an Minuten zurückliegt. + /// + public int? MinMinutesSinceLastChange { get; init; } + /// /// Setzt den Benutzerkontext für die Abfrage. /// @@ -132,6 +138,12 @@ public class ReadEnvelopeQueryHandler : IRequestHandler !status.Ignore.Contains(e.Status)); } + if (request.MinMinutesSinceLastChange is int minMinutesSinceLastChange) + { + query = query.Where(e => e.ChangedWhen.HasValue + && EF.Functions.DateDiffMinute(e.ChangedWhen.Value, DateTime.Now) >= minMinutesSinceLastChange); + } + var envelopes = await query .Include(e => e.Documents) .ToListAsync(cancel);