public static GroupingReadOnlyContinuousCollection <TKey, TSource> GroupBy <TKey, TSource>(
     this ReadOnlyContinuousCollection <TSource> source,
     Expression <Func <TSource, TKey> > keySelector)
     where TSource : INotifyPropertyChanged
 {
     return(new GroupingReadOnlyContinuousCollection <TKey, TSource>(source, keySelector));
 }
 public static OrderedReadOnlyContinuousCollection <TSource> OrderByDescending <TSource, TKey>(
     this ReadOnlyContinuousCollection <TSource> source,
     Expression <Func <TSource, TKey> > keySelector)
     where TSource : INotifyPropertyChanged
     where TKey : IComparable
 {
     return(new SortingReadOnlyContinuousCollection <TSource, TKey>(source, keySelector, true));
 }
 public static ReadOnlyContinuousCollection <TResult> GroupJoin <TOuter, TInner, TKey, TResult>(
     this ReadOnlyContinuousCollection <TOuter> outer,
     IList <TInner> inner,
     Expression <Func <TOuter, TKey> > outerKeySelector,
     Expression <Func <TInner, TKey> > innerKeySelector,
     Expression <Func <TOuter, ReadOnlyContinuousCollection <TInner>, TResult> > resultSelector)
 {
     return(new GroupJoinReadOnlyContinuousCollection <TOuter, TInner, TKey, TResult>(
                outer,
                inner,
                outerKeySelector,
                innerKeySelector,
                resultSelector));
 }
        /// <summary>
        /// When a change occurs, which is not a property change on a collection item,
        /// but changes the result of a Where() filter
        /// </summary>
        /// <typeparam name="TSource"></typeparam>
        /// <param name="source"></param>
        public static void ReEvaluate <TSource>(this ReadOnlyContinuousCollection <TSource> source)
        {
            LinqContinuousCollection <TSource> collection = source as LinqContinuousCollection <TSource>;

            if (collection == null)
            {
                return;
            }
            List <IViewAdapter> adapterCollection = new List <IViewAdapter>();
            IViewAdapter        adapter           = collection.SourceAdapter;

            while (adapter != null)
            {
                adapterCollection.Add(adapter);
                adapter = adapter.PreviousAdapter;
            }
            adapterCollection.Reverse();
            adapterCollection.ForEach(a => a.ReEvaluate());
        }
Beispiel #5
0
 public DebugView(ReadOnlyContinuousCollection <T> collection)
 {
     this.Collection = collection;
 }
Beispiel #6
0
 public OutputCollectionWrapper(ReadOnlyContinuousCollection <T> inner)
 {
     _inner = inner;
 }
 public static ReadOnlyContinuousCollection <TResult> SelectMany <TSource, TResult>(
     this ReadOnlyContinuousCollection <TSource> source, Expression <Func <TSource, IList <TResult> > > manySelector)
 {
     return(new SelectManyReadOnlyContinuousCollection <TSource, TResult>(source, manySelector));
 }
 public static ReadOnlyContinuousCollection <TSource> Skip <TSource>(this ReadOnlyContinuousCollection <TSource> collection, int count)
 {
     return(new SkipReadOnlyContinuousCollection <TSource>(collection, count));
 }
 public static ReadOnlyContinuousCollection <TSource> Concat <TSource>(this ReadOnlyContinuousCollection <TSource> first, ReadOnlyContinuousCollection <TSource> second)
 {
     return(new ConcatReadOnlyContinuousCollection <TSource>(first, second));
 }
 public static ReadOnlyContinuousCollection <TResult> Select <TSource, TResult>(
     this ReadOnlyContinuousCollection <TSource> source, Expression <Func <TSource, TResult> > selector)
 {
     return(new SelectReadOnlyContinuousCollection <TSource, TResult>(source, selector));
 }
 public static ReadOnlyContinuousCollection <TSource> Distinct <TSource>(
     this ReadOnlyContinuousCollection <TSource> source)
 {
     return(new DistinctReadOnlyContinuousCollection <TSource>(source));
 }
 public static ReadOnlyContinuousCollection <TSource> Where <TSource>(
     this ReadOnlyContinuousCollection <TSource> source, Expression <Func <TSource, bool> > filter)
     where TSource : INotifyPropertyChanged
 {
     return(new FilteringReadOnlyContinuousCollection <TSource>(source, filter));
 }