public MainViewModel(Func<Valute, ItemViewModel> itemFactory, IRepositoryCache<DailyCurs> dataSource, ICacheUpdater cacheUpdater) { _itemFactory = itemFactory; this.dataSource = dataSource; _cacheUpdater = cacheUpdater; this.dataSource.CashUpdated += CashUpdated; if (!cacheUpdater.IsEnabled) cacheUpdater.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="LockFreeObservableCache{TObject, TKey}"/> class. /// </summary> public LockFreeObservableCache() { _updater = new CacheUpdater <TObject, TKey>(_innerCache); _cleanUp = Disposable.Create(() => { _changes.OnCompleted(); _countChanged.OnCompleted(); }); }
public MainViewModel(Func <Valute, ItemViewModel> itemFactory, IRepositoryCache <DailyCurs> dataSource, ICacheUpdater cacheUpdater) { _itemFactory = itemFactory; this.dataSource = dataSource; _cacheUpdater = cacheUpdater; this.dataSource.CashUpdated += CashUpdated; if (!cacheUpdater.IsEnabled) { cacheUpdater.Start(); } }
/// <summary> /// Initializes a new instance of the <see cref="LockFreeObservableCache{TObject, TKey}"/> class. /// </summary> /// <param name="source">The source.</param> public LockFreeObservableCache(IObservable <IChangeSet <TObject, TKey> > source) { _updater = new CacheUpdater <TObject, TKey>(_innerCache); var loader = source.Select(changes => { _innerCache.Clone(changes); return(_innerCache.CaptureChanges()); }).SubscribeSafe(_changes); _cleanUp = Disposable.Create(() => { loader.Dispose(); _changes.OnCompleted(); _countChanged.OnCompleted(); }); }