public virtual void ManageInsertTriggerAfter(string className, object @object, NeoDatis.Odb.OID oid) { if (HasInsertTriggersFor(className)) { NeoDatis.Odb.Core.Trigger.InsertTrigger trigger = null; System.Collections.IEnumerator iterator = GetListOfInsertTriggersFor(className).GetEnumerator (); while (iterator.MoveNext()) { trigger = (NeoDatis.Odb.Core.Trigger.InsertTrigger)iterator.Current; if (trigger.GetOdb() == null) { trigger.SetOdb(new NeoDatis.Odb.Impl.Main.ODBForTrigger(storageEngine)); } try { trigger.AfterInsert(Transform(@object), oid); } catch (System.Exception e) { NeoDatis.Odb.Core.IError warning = NeoDatis.Odb.Core.NeoDatisError.AfterInsertTriggerHasThrownException .AddParameter(trigger.GetType().FullName).AddParameter(NeoDatis.Tool.Wrappers.OdbString .ExceptionToString(e, false)); if (NeoDatis.Odb.OdbConfiguration.DisplayWarnings()) { NeoDatis.Tool.DLogger.Info(warning); } } } } }
public virtual void AddInsertTrigger(System.Type clazz, NeoDatis.Odb.Core.Trigger.InsertTrigger trigger) { if (trigger is NeoDatis.Odb.Core.Server.Trigger.ServerInsertTrigger) { throw new NeoDatis.Odb.ODBRuntimeException(NeoDatis.Odb.Core.NeoDatisError.CanNotAssociateServerTriggerToLocalOrClientOdb .AddParameter(trigger.GetType().FullName)); } storageEngine.AddInsertTriggerFor(clazz.FullName, trigger); }