changed reminders to use DateTimeOffset

This commit is contained in:
Sarah Faey 2022-11-13 22:07:31 +01:00
parent 62dc3d1efa
commit ed7a1905fd
3 changed files with 19 additions and 19 deletions

View file

@ -410,24 +410,22 @@ namespace Lieb.Data
public async Task SendReminders()
{
using var context = _contextFactory.CreateDbContext();
DateTimeOffset now = DateTimeOffset.UtcNow;
List<Raid> raids = context.Raids
.Include(r => r.Reminders)
List<RaidReminder> reminders = context.RaidReminders
.Include(r => r.Raid)
.Where(r => !r.Sent)
.ToList();
foreach(Raid raid in raids.Where(r => r.StartTimeUTC > now))
DateTimeOffset now = DateTimeOffset.UtcNow;
foreach(RaidReminder reminder in reminders.Where(r => r.ReminderTime < now))
{
foreach(RaidReminder reminder in raid.Reminders.Where(reminder => !reminder.Sent && raid.StartTimeUTC.AddHours(-reminder.HoursBeforeRaid) < DateTime.UtcNow))
switch(reminder.Type)
{
switch(reminder.Type)
{
case RaidReminder.ReminderType.User:
await _discordService.SendUserReminder(reminder);
break;
case RaidReminder.ReminderType.Channel:
await _discordService.SendChannelReminder(reminder);
break;
}
case RaidReminder.ReminderType.User:
await _discordService.SendUserReminder(reminder);
break;
case RaidReminder.ReminderType.Channel:
await _discordService.SendChannelReminder(reminder);
break;
}
}
}