Bei der Verarbeitung von Datensätzen werden Events ausgelöst. Dort ist es z.B. möglich Feldwerte zu berechnen und weitere Funktionen aufzurufen. Diese Events werden für einen Datensatz ausgeführt und beeinflussen daher das Laufzeitverhalten von Datensätzen stark, insbesondere bei der Massenverarbeitung selbiger. Man muss daher darauf achten, das diese Funktionalitäten performant implementiert sind.
Um Events für Datensätze zu implementieren, wird eine Klasse benötigt die BAOrmEventsBase
erweitert. An dieser Klasse, muss das Attribute BAOrmEvents
gesetzt werden.
[BAOrmEvents(typeof(OrmMyDataTable))]
public class OrmEventModifyMyDataTable : BAOrmEventsBase { }
Für konfigurierte Datentabellen, ist es auch möglich die Guid der Datentabelle zu verwenden.
[BAOrmEvents(EnumDataSourceExtension.MyDataTableGuid)]
public class OrmEventModifyMyDataTable : BAOrmEventsBase { }
Es können auch Events für Basis-Datentabellen erstellt werden.
[BAOrmEvents(typeof(OrmActivityBase))]
public class OrmEventModifyMyDataTable : BAOrmEventsBase { }
Oder auch für mehrere Datentabellen.
[BAOrmEvents(typeof(OrmPhoneCall), typeof(OrmMiscellaneous))]
public class OrmEventModifyMyDataTable : BAOrmEventsBase { }
Ausnahmen
Erwartete Ausnamhen, sollten im Rahmen von Orm Events als TranslatableException geworfen werden.