public override sealed void OnPreUpdate(Net.Vpc.Upa.Callbacks.UpdateEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { string name = @event.GetTrigger().GetName(); Net.Vpc.Upa.Persistence.EntityExecutionContext executioncontext = @event.GetContext(); if (AcceptUpdateTableHelper(@event)) { System.Collections.Generic.ICollection <Net.Vpc.Upa.Key> v = CreateUpdatedCollection(@event.GetEntity(), @event.GetFilterExpression()); if (!(v.Count == 0)) { executioncontext.SetObject(name + ":toUpdate", v); } } }
public override sealed void OnUpdate(Net.Vpc.Upa.Callbacks.UpdateEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { // validate old references Net.Vpc.Upa.Persistence.EntityExecutionContext executioncontext = @event.GetContext(); string name = @event.GetTrigger().GetName(); System.Collections.Generic.ICollection <Net.Vpc.Upa.Key> collection = executioncontext.GetObject <T>(name + ":toUpdate"); if (collection == null) { return; } executioncontext.Remove(name + ":toUpdate"); Net.Vpc.Upa.Expressions.IdCollectionExpression inColl = null; if (!(collection.Count == 0)) { inColl = CreateInCollection(@event.GetEntity(), collection); AfterUpdateHelper(@event, inColl); } // validate old references if (AcceptUpdateTableOlderValuesHelper(@event)) { Net.Vpc.Upa.Expressions.Expression newUpdates = null; if (inColl != null) { Net.Vpc.Upa.Expressions.Expression translated = TranslateExpression(@event.GetFilterExpression()); if (translated != null) { newUpdates = new Net.Vpc.Upa.Expressions.And(new Net.Vpc.Upa.Expressions.Not(inColl), translated); } else { newUpdates = new Net.Vpc.Upa.Expressions.Not(inColl); } } else { newUpdates = TranslateExpression(@event.GetFilterExpression()); } AfterUpdateHelper(@event, newUpdates); } }
public override void OnUpdate(Net.Vpc.Upa.Callbacks.UpdateEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Impl.Context.DefaultEntityTriggerContext context = new Net.Vpc.Upa.Impl.Context.DefaultEntityTriggerContext(@event.GetEntity(), @event.GetTrigger(), @event.GetContext()); foreach (object aK in ResolveIdList(@event, @event.GetFilterExpression())) { keyInterceptor.AfterUpdate(context, aK, @event.GetUpdatesRecord()); } }