CmisSync.Lib.Cmis.RepositoryStatusAggregator.Add C# (CSharp) Метод

Add() публичный Метод

Add the specified repo.
public Add ( INotifyRepositoryPropertyChanged repo ) : void
repo INotifyRepositoryPropertyChanged Repository to listen to.
Результат void
        public void Add(INotifyRepositoryPropertyChanged repo) {
            if (!this.repos.ContainsKey(repo)) {
                PropertyChangedEventHandler handler = delegate(object sender, PropertyChangedEventArgs e) {
                    if (e.PropertyName == Utils.NameOf((INotifyRepositoryPropertyChanged r) => r.Status)) {
                        this.AnyStatusChanged();
                    } else if (e.PropertyName == Utils.NameOf((INotifyRepositoryPropertyChanged r) => r.NumberOfChanges)) {
                        this.AnyNumberChanged();
                    }
                };
                repo.PropertyChanged += handler;
                this.repos.Add(repo, handler);
                if (repo.NumberOfChanges > 0) {
                    this.AnyNumberChanged();
                }

                this.AnyStatusChanged();
                this.AnyDateChanged();
            }
        }

Usage Example

        public void ThreeRepositoriesAddedAndAggregated() {
            var underTest = new RepositoryStatusAggregator();

            underTest.Add(Mock.Of<INotifyRepositoryPropertyChanged>(r => r.NumberOfChanges == 1 && r.Status == SyncStatus.Idle && r.LastFinishedSync == (DateTime?)null));
            underTest.Add(Mock.Of<INotifyRepositoryPropertyChanged>(r => r.NumberOfChanges == 2 && r.Status == SyncStatus.Disconnected && r.LastFinishedSync == DateTime.Now));
            underTest.Add(Mock.Of<INotifyRepositoryPropertyChanged>(r => r.NumberOfChanges == 0 && r.Status == SyncStatus.Warning && r.LastFinishedSync == DateTime.Now));

            Assert.That(underTest.NumberOfChanges, Is.EqualTo(3));
            Assert.That(underTest.LastFinishedSync, Is.Null);
            Assert.That(underTest.Status, Is.EqualTo(SyncStatus.Warning));
        }
All Usage Examples Of CmisSync.Lib.Cmis.RepositoryStatusAggregator::Add