private void RouteVaultEvents(IVault vault, List <ElementChangingEventArgs> changing, List <ElementChangedEventArgs> changed) { vault.Changing(e => { changing.Add(e); if (e.OldValue is Stream) { var s = ((Stream)e.OldValue).AsString(); var setter = typeof(ElementEventArgs).GetProperty("OldValue").GetSetMethod(true); setter.Invoke(e, s.MkArray()); } if (e.NewValue is Stream) { var s = ((Stream)e.NewValue).AsString(); var setter = typeof(ElementEventArgs).GetProperty("NewValue").GetSetMethod(true); setter.Invoke(e, s.MkArray()); } }); vault.Changed(e => { changed.Add(e); if (e.OldValue is Stream) { var s = ((Stream)e.OldValue).AsString(); var setter = typeof(ElementEventArgs).GetProperty("OldValue").GetSetMethod(true); setter.Invoke(e, s.MkArray()); } if (e.NewValue is Stream) { var s = ((Stream)e.NewValue).AsString(); var setter = typeof(ElementEventArgs).GetProperty("NewValue").GetSetMethod(true); setter.Invoke(e, s.MkArray()); } }); }
private void RouteVaultEvents(IVault vault, List<ElementChangingEventArgs> changing, List<ElementChangedEventArgs> changed) { vault.Changing(e => { changing.Add(e); if (e.OldValue is Stream) { var s = ((Stream)e.OldValue).AsString(); var setter = typeof(ElementEventArgs).GetProperty("OldValue").GetSetMethod(true); setter.Invoke(e, s.MkArray()); } if (e.NewValue is Stream) { var s = ((Stream)e.NewValue).AsString(); var setter = typeof(ElementEventArgs).GetProperty("NewValue").GetSetMethod(true); setter.Invoke(e, s.MkArray()); } }); vault.Changed(e => { changed.Add(e); if (e.OldValue is Stream) { var s = ((Stream)e.OldValue).AsString(); var setter = typeof(ElementEventArgs).GetProperty("OldValue").GetSetMethod(true); setter.Invoke(e, s.MkArray()); } if (e.NewValue is Stream) { var s = ((Stream)e.NewValue).AsString(); var setter = typeof(ElementEventArgs).GetProperty("NewValue").GetSetMethod(true); setter.Invoke(e, s.MkArray()); } }); }
public static IVault ValueMetadataChanging(this IVault vault, Action <ValueChangingEventArgs> listener) { return(vault.Changing( e => e.Subject is IValue && e.Reason == EventReason.Metadata, e => listener(new ValueChangingEventArgs(e.CorrelationId, e.Reason, (IValue)e.Subject, e.OldRevision, e.OldValue, e.NewValue)))); }
public static IVault Changing(this IVault vault, Action <ElementChangingEventArgs> listener) { return(vault.Changing(e => true, listener)); }
public static IVault ValueChanging(this IVault vault, Func <ValueChangingEventArgs, bool> filter, Action <ValueChangingEventArgs> listener) { return(vault.Changing( e => e.Subject is IValue && filter(new ValueChangingEventArgs(e.CorrelationId, e.Reason, (IValue)e.Subject, e.OldRevision, e.OldValue, e.NewValue)), e => listener(new ValueChangingEventArgs(e.CorrelationId, e.Reason, (IValue)e.Subject, e.OldRevision, e.OldValue, e.NewValue)))); }
public static IVault BranchElementRemoving(this IVault vault, Action <BranchChangingEventArgs> listener) { return(vault.Changing( e => e.Subject is IBranch && e.Reason == EventReason.ElementRemove, e => listener(new BranchChangingEventArgs(e.CorrelationId, e.Reason, (IBranch)e.Subject, e.OldRevision, e.OldValue, e.NewValue)))); }