|
|
|
@ -8,10 +8,14 @@ namespace RhinoReminds |
|
|
|
|
{ |
|
|
|
|
public delegate void OnReminderListUpdateHandler(object sender, Reminder newReminder); |
|
|
|
|
|
|
|
|
|
[JsonObject(MemberSerialization.OptIn)] |
|
|
|
|
public class ReminderList |
|
|
|
|
{ |
|
|
|
|
private int nextId = 0; |
|
|
|
|
[JsonProperty] |
|
|
|
|
public int NextId { get; private set; } = 0; |
|
|
|
|
private object saveLock = new object(); |
|
|
|
|
|
|
|
|
|
[JsonProperty] |
|
|
|
|
public SortedList<DateTime, Reminder> Reminders = new SortedList<DateTime, Reminder>(); |
|
|
|
|
|
|
|
|
|
public event OnReminderListUpdateHandler OnReminderListUpdate; |
|
|
|
@ -22,7 +26,7 @@ namespace RhinoReminds |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public Reminder CreateReminder(Jid inJid, DateTime time, string message) { |
|
|
|
|
Reminder result = new Reminder(nextId++, $"{inJid.Node}@{inJid.Domain}", time, message); |
|
|
|
|
Reminder result = new Reminder(NextId++, $"{inJid.Node}@{inJid.Domain}", time, message); |
|
|
|
|
Console.WriteLine($"[Rhino/ReminderList] Created reminder {result}"); |
|
|
|
|
Reminders.Add(time, result); |
|
|
|
|
OnReminderListUpdate(this, result); |
|
|
|
|