public override void OnPreUpdateFormula(Net.Vpc.Upa.Callbacks.UpdateFormulaEvent @event) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Persistence.EntityExecutionContext executionContext = @event.GetContext(); Net.Vpc.Upa.Relationship r = relation; System.Collections.Generic.IList <Net.Vpc.Upa.Field> fs = r.GetSourceRole().GetFields(); Net.Vpc.Upa.Expressions.Expression cond = new Net.Vpc.Upa.Expressions.Equals(new Net.Vpc.Upa.Expressions.Var(fs[0].GetName()), Net.Vpc.Upa.Expressions.Literal.NULL); if (@event.GetFilterExpression() != null) { cond = new Net.Vpc.Upa.Expressions.And(cond, @event.GetFilterExpression()); } System.Collections.Generic.IList <object> keys = relation.GetSourceRole().GetEntity().CreateQueryBuilder().ByExpression(cond).GetIdList <K>(); foreach (object key in keys) { support.ValidatePathField(key, executionContext); support.ValidateChildren(key, executionContext); } }
public override object Invoke(params object [] arguments) { Net.Vpc.Upa.Callbacks.UpdateFormulaEvent ev = (Net.Vpc.Upa.Callbacks.UpdateFormulaEvent)arguments[0]; foreach (object id in ResolveIdList(ev, ev.GetFilterExpression())) { Net.Vpc.Upa.Callbacks.UpdateFormulaObjectEvent oe = new Net.Vpc.Upa.Callbacks.UpdateFormulaObjectEvent(id, ev.GetUpdates(), ev.GetFilterExpression(), ev.GetContext(), GetPhase()); InvokeSingle(oe); } return(null); }
public override void OnUpdateFormula(Net.Vpc.Upa.Callbacks.UpdateFormulaEvent @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.AfterUpdateFormulas(context, aK, @event.GetUpdates()); } }