feat(domain): HerregistratieReminderSweep reminds + persists due inscriptions (refs #18)
refs #18
This commit is contained in:
@@ -13,6 +13,18 @@ namespace Big.Application;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class HerregistratieReminderSweep(IRegistrationStore store, TimeProvider clock)
|
public sealed class HerregistratieReminderSweep(IRegistrationStore store, TimeProvider clock)
|
||||||
{
|
{
|
||||||
public Task<IReadOnlyList<RegistrationId>> SweepAsync(CancellationToken ct = default)
|
public async Task<IReadOnlyList<RegistrationId>> SweepAsync(CancellationToken ct = default)
|
||||||
=> Task.FromResult<IReadOnlyList<RegistrationId>>([]); // RED stub
|
{
|
||||||
|
var due = await store.FindDueForHerregistratieReminderAsync(clock.GetUtcNow(), ct);
|
||||||
|
|
||||||
|
var reminded = new List<RegistrationId>(due.Count);
|
||||||
|
foreach (var registration in due)
|
||||||
|
{
|
||||||
|
registration.MarkHerregistratieReminderVerstuurd();
|
||||||
|
await store.SaveAsync(registration, ct);
|
||||||
|
reminded.Add(registration.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return reminded;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user