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
 public VaultCompiler(IVault vault)
 {
     Vault = vault.AssertNotNull();
     Vault.Changed(SignificantChangeFilter, SignificantChangeProcessor);
     InitializeCompiler();
 }
 public static IVault ValueMetadataChanged(this IVault vault, Action <ValueChangedEventArgs> listener)
 {
     return(vault.Changed(
                e => e.Subject is IValue && e.Reason == EventReason.Metadata,
                e => listener(new ValueChangedEventArgs(e.CorrelationId, e.Reason, (IValue)e.Subject, e.OldRevision, e.OldValue, e.NewValue))));
 }
 public static IVault Changed(this IVault vault, Action <ElementChangedEventArgs> listener)
 {
     return(vault.Changed(e => true, listener));
 }
 public static IVault ValueChanged(this IVault vault, Func <ValueChangedEventArgs, bool> filter, Action <ValueChangedEventArgs> listener)
 {
     return(vault.Changed(
                e => e.Subject is IValue && filter(new ValueChangedEventArgs(e.CorrelationId, e.Reason, (IValue)e.Subject, e.OldRevision, e.OldValue, e.NewValue)),
                e => listener(new ValueChangedEventArgs(e.CorrelationId, e.Reason, (IValue)e.Subject, e.OldRevision, e.OldValue, e.NewValue))));
 }
 public static IVault BranchElementRemoved(this IVault vault, Action <BranchChangedEventArgs> listener)
 {
     return(vault.Changed(
                e => e.Subject is IBranch && e.Reason == EventReason.ElementRemove,
                e => listener(new BranchChangedEventArgs(e.CorrelationId, e.Reason, (IBranch)e.Subject, e.OldRevision, e.OldValue, e.NewValue))));
 }
Esempio n. 7
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());
                }
            });
        }