Events
Event definitions are managed by the Sitecore.Marketing.Definitions.Events.EventDefinitionManager class.
Accessing the EventDefinitionManager
The EventDefinitionManager is available from the Sitecore DI container. It is preferable to include a parameter of type DefinitionManagerBase<IEventDefinition, EventDefinitionRecord> in the constructor of your class and pull your class from the container, allowing the container to resolve the instance for you:
If you cannot use the container to construct your class, you can use the service locator. This class is also available in the Sitecore DI container:
Defining an event
An event is defined using types from the Sitecore.Marketing.Definitions.Events.Model namespace.
Live events
The IsLiveEvent property is part of the base EventDefinition class and is used by Marketing Automation to determine if an event should be processed immediately rather than on session end. Read more about live event processing.
Saving an event
Once you have defined an event you may save it by calling the SaveAsync() method on the definition manager.
You can also optionally activate the event during save by passing true to the second parameter of the SaveAsync() method:
Activating an event
Events must be activated before they are available for use outside of management. Events can be activated when they’re saved by passing true to the activate (second) parameter of the SaveAsync() method:
Events can also be activated without calling save, using the ActivateAsync() method:
The ActivateAsync() method takes the ID of the event and does not require the event definition model.
Deleting an event
To delete an event, use the Delete() method on the manager. Individual cultures cannot be deleted from the definition, only the entire definition. The culture provided to the method call should be either null (default value) or CultureInfo.InvariantCulture.
Retrieve an event
A single event can be retrieved by it’s ID using one of the Get() methods on the manager.
Retrieve an event by its alias
You can also retrieve an event by its alias:
Update an existing event
To update an existing event definition, retrieve the event by ID, edit the event
Retrieving all events
The GetAll() method can be used to get all events from the manager. As there may be a large number of definitions, this method supports paging. The return value is a single page of results.
To access the results, use the DataPage property of the result.
The result also includes properties to expose the total number of definitions and the current page index and page size.