feat(domain): HerregistratieReminderSweep reminds + persists due inscriptions (refs #18)
refs #18
This commit is contained in:
@@ -13,6 +13,18 @@ namespace Big.Application;
|
||||
/// </summary>
|
||||
public sealed class HerregistratieReminderSweep(IRegistrationStore store, TimeProvider clock)
|
||||
{
|
||||
public Task<IReadOnlyList<RegistrationId>> SweepAsync(CancellationToken ct = default)
|
||||
=> Task.FromResult<IReadOnlyList<RegistrationId>>([]); // RED stub
|
||||
public async Task<IReadOnlyList<RegistrationId>> SweepAsync(CancellationToken ct = default)
|
||||
{
|
||||
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