Esempio n. 1
0
        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());
                }
            });
        }
Esempio n. 2
0
        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))));
 }