Esempio n. 1
0
        protected override void OnLambdaValueChanged(LambdaValueChangedEventArgs <TSource, IEnumerable <TResult> > args)
        {
            // unsubscribe from old value
            UnsubscribeItem(args.OldValue);
            items.Remove(args.OldValue);

            // subscribe to new value
            items.Add(args.NewValue);
            SubscribeItem(args.NewValue);

            var oldValues = args.OldValue.Except(args.NewValue).ToList();
            var newValues = args.NewValue.Except(args.OldValue).ToList();

            if (oldValues.Count == 0 && newValues.Count >= 1)
            {
                NotifyCollectionChangedUtil.RaiseAddEvent <TResult>(OnCollectionChanged, newValues);
            }
            else if (oldValues.Count >= 1 && newValues.Count == 0)
            {
                NotifyCollectionChangedUtil.RaiseRemoveEvent <TResult>(OnCollectionChanged, oldValues);
            }
            else if (oldValues.Count >= 1 && newValues.Count >= 1)
            {
                NotifyCollectionChangedUtil.RaiseReplaceEvent <TResult>(OnCollectionChanged, oldValues, newValues);
            }
        }
Esempio n. 2
0
 protected override void OnPredicateValueChanged(LambdaValueChangedEventArgs <TSource, bool> args)
 {
     if (!args.OldValue && args.NewValue)
     {
         SetValue(++count);
     }
     else if (args.OldValue && !args.NewValue)
     {
         SetValue(--count);
     }
 }
Esempio n. 3
0
        protected override void OnLambdaValueChanged(LambdaValueChangedEventArgs <TSource, TResult> args)
        {
            var oldValue = (TResult)args.OldValue;
            var newValue = (TResult)args.NewValue;

            // single value has been replaced
            if (!object.Equals(oldValue, newValue))
            {
                NotifyCollectionChangedUtil.RaiseReplaceEvent <TResult>(RaiseCollectionChanged, oldValue, newValue);
            }
        }
Esempio n. 4
0
 protected override void OnPredicateValueChanged(LambdaValueChangedEventArgs <TSource, bool> args)
 {
     // any value being set to true means we're true
     if (args.NewValue)
     {
         SetValue(true);
     }
     else
     {
         base.OnPredicateValueChanged(args);
     }
 }
Esempio n. 5
0
 protected override void OnPredicateValueChanged(LambdaValueChangedEventArgs <TElement, bool> args)
 {
     if (!args.OldValue && args.NewValue)
     {
         // was false, now true: item added
         NotifyCollectionChangedUtil.RaiseAddEvent <TElement>(OnCollectionChanged, args.Item);
     }
     else if (args.OldValue && !args.NewValue)
     {
         // was true, now false: item removed
         NotifyCollectionChangedUtil.RaiseRemoveEvent <TElement>(OnCollectionChanged, args.Item);
     }
     ;
 }
Esempio n. 6
0
 protected override void OnLambdaValueChanged(LambdaValueChangedEventArgs <TSource, TLambdaResult> args)
 {
     ResetValue();
 }
Esempio n. 7
0
 /// <summary>
 /// Invoked when a predicate value is changed.
 /// </summary>
 /// <param name="args"></param>
 protected virtual void OnPredicateValueChanged(LambdaValueChangedEventArgs <TSource, bool> args)
 {
     base.OnProjectionValueChanged(args);
 }
Esempio n. 8
0
 protected override sealed void OnProjectionValueChanged(LambdaValueChangedEventArgs <TSource, bool> args)
 {
     OnPredicateValueChanged(args);
 }
Esempio n. 9
0
 /// <summary>
 /// Invoked when the value of a projection is changed.
 /// </summary>
 /// <param name="args"></param>
 protected virtual void OnProjectionValueChanged(LambdaValueChangedEventArgs <TSource, TProjection> args)
 {
     base.OnLambdaValueChanged(args);
 }
Esempio n. 10
0
 protected override sealed void OnLambdaValueChanged(LambdaValueChangedEventArgs <TSource, TProjection> args)
 {
     OnProjectionValueChanged(args);
 }
Esempio n. 11
0
 protected override void OnLambdaValueChanged(LambdaValueChangedEventArgs <TElement, TKey> args)
 {
     RemoveItemWithKey(args.Item, args.OldValue);
     AddItem(args.Item);
 }
Esempio n. 12
0
 protected override void OnProjectionValueChanged(LambdaValueChangedEventArgs <TSource, int> args)
 {
     SetValue(sum = sum - args.OldValue + args.NewValue);
 }
 /// <summary>
 /// Invoked when the value of a predicate is changed.
 /// </summary>
 /// <param name="args"></param>
 protected virtual void OnPredicateValueChanged(LambdaValueChangedEventArgs <TSource, bool> args)
 {
 }
Esempio n. 14
0
 /// <summary>
 /// Invoked when one of the lambda's value is changed.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="args"></param>
 void lambdas_ValueChanged(object sender, LambdaValueChangedEventArgs <TSource, TLambdaResult> args)
 {
     OnLambdaValueChanged(args);
 }
Esempio n. 15
0
 /// <summary>
 /// Invoked when one of the lambda's value is changed.
 /// </summary>
 /// <param name="args"></param>
 protected virtual void OnLambdaValueChanged(LambdaValueChangedEventArgs <TSource, TLambdaResult> args)
 {
 }
Esempio n. 16
0
 protected override void OnProjectionValueChanged(LambdaValueChangedEventArgs <TSource, TResult> args)
 {
     SetValue(average = Divide(sum = Add(Subtract(sum, args.OldValue), args.NewValue), count));
 }