eventHappened method
Function called when an event happen. @param event The event that happened. @returns If the trigger has changed.
Implementation
Future<bool> eventHappened(MBAutomationEvent event) async {
if (event.event != this.event) {
return false;
}
bool isTriggerEvent = true;
if (event.metadata != null) {
if (metadata != null) {
isTriggerEvent = mapEquals(
event.metadata,
metadata,
);
} else {
isTriggerEvent = false;
}
} else if (metadata != null) {
isTriggerEvent = false;
}
if (isTriggerEvent) {
int currentNumberOfTimes = numberOfTimes ?? 0;
currentNumberOfTimes += 1;
numberOfTimes = currentNumberOfTimes;
if (currentNumberOfTimes >= times) {
completionDate = DateTime.now();
return true;
}
return true;
} else {
return false;
}
}