public FullyObservableDBDataSubsriber <TSource, TOut> Subsribe(FullyObservableDBData <TSource> source, FullyObservableCollection <TOut> subscriber, Func <TSource, TOut> _newFunc = null) { newFunc = _newFunc; outData = subscriber; sourceData = source.Data; sourceKeySelector = source.KeySelector; sourceData.CollectionChanged += SourceData_CollectionChanged; sourceData.ItemPropertyChanged += SourceData_ItemPropertyChanged; RefreshOutdata(); return(this); }
public FullyObservableDBDataSubsriber <TSource, TOut> SubsribeAction(FullyObservableDBData <TSource> source, Action <TOut> _onChange, Func <IEnumerable <TSource>, TOut> _selectFunc) { //newFunc = _newFunc; itemSelector = _selectFunc; onChange = _onChange; var selCol = sourceData.Where(a => selector(a)).ToList(); var selItem = itemSelector(selCol); onChange(selItem); sourceData = source.Data; sourceKeySelector = source.KeySelector; sourceData.CollectionChanged += SourceData_CollectionChanged; sourceData.ItemPropertyChanged += SourceData_ItemPropertyChanged; return(this); }