getting things in the right order for scheduling

This commit is contained in:
Andrew Welker
2020-12-07 17:21:05 -07:00
parent c4755f23cd
commit 099e387570
2 changed files with 13 additions and 15 deletions

View File

@@ -102,7 +102,7 @@ namespace PepperDash.Essentials
{ {
if (!_roomScheduledEventGroup.ScheduledEvents.ContainsKey(scheduledEvent.Name)) if (!_roomScheduledEventGroup.ScheduledEvents.ContainsKey(scheduledEvent.Name))
{ {
SchedulerUtilities.CreateEventFromConfig(scheduledEvent, _roomScheduledEventGroup); SchedulerUtilities.CreateEventFromConfig(scheduledEvent, _roomScheduledEventGroup, HandleScheduledEvent);
return; return;
} }
@@ -120,9 +120,7 @@ namespace PepperDash.Essentials
_roomScheduledEventGroup.DeleteEvent(roomEvent); _roomScheduledEventGroup.DeleteEvent(roomEvent);
var tempEvent = SchedulerUtilities.CreateEventFromConfig(scheduledEvent, _roomScheduledEventGroup); SchedulerUtilities.CreateEventFromConfig(scheduledEvent, _roomScheduledEventGroup, HandleScheduledEvent);
tempEvent.UserCallBack += HandleScheduledEvent;
} }
public void AddOrUpdateScheduledEvent(ScheduledEventConfig scheduledEvent) public void AddOrUpdateScheduledEvent(ScheduledEventConfig scheduledEvent)

View File

@@ -151,12 +151,12 @@ namespace PepperDash.Essentials.Core
return evnt.Recurrence.RecurrenceDays == days; return evnt.Recurrence.RecurrenceDays == days;
} }
public static ScheduledEvent CreateEventFromConfig(ScheduledEventConfig config, ScheduledEventGroup group) public static void CreateEventFromConfig(ScheduledEventConfig config, ScheduledEventGroup group, ScheduledEvent.UserEventCallBack handler)
{ {
if (group == null) if (group == null)
{ {
Debug.Console(0, "Unable to create event. Group is null"); Debug.Console(0, "Unable to create event. Group is null");
return null; return;
} }
var scheduledEvent = new ScheduledEvent(config.Key, group) var scheduledEvent = new ScheduledEvent(config.Key, group)
{ {
@@ -164,14 +164,7 @@ namespace PepperDash.Essentials.Core
Persistent = config.Persistent Persistent = config.Persistent
}; };
if (config.Enable) scheduledEvent.UserCallBack += handler;
{
scheduledEvent.Resume();
}
else
{
scheduledEvent.Pause();
}
scheduledEvent.DateAndTime.SetFirstDayOfWeek(ScheduledEventCommon.eFirstDayOfWeek.Sunday); scheduledEvent.DateAndTime.SetFirstDayOfWeek(ScheduledEventCommon.eFirstDayOfWeek.Sunday);
@@ -183,7 +176,14 @@ namespace PepperDash.Essentials.Core
scheduledEvent.Recurrence.Weekly(config.Days); scheduledEvent.Recurrence.Weekly(config.Days);
return scheduledEvent; if (config.Enable)
{
scheduledEvent.Enable();
}
else
{
scheduledEvent.Disable();
}
} }
} }
} }