protected void OnChange(FolderChangeEventArgs <T> e) { if (BeforeChanging != null) { BeforeChanging(this, e); } }
private void FireFolderChange(object sender, FolderChangeEventArgs <TFolderItem> e) { if (ShouldSkipChangeNotifications) { return; } if (OnFolderChange != null) { OnFolderChange(sender, e); } }
void _folder_OnFolderChange(object sender, FolderChangeEventArgs<TFolderItem> e) { switch (e.FolderChange) { case FolderChange.ItemAdded: _items.Add(e.FolderItem); break; case FolderChange.ItemRemoved: _items.Remove(e.FolderItem); break; default: throw new NotSupportedException(string.Format("{0} is not supported!", e.FolderChange)); } }
void _subFolders_BeforeChanging(object sender, FolderChangeEventArgs <TFolder> e) { TFolder folder = e.FolderItem; switch (e.FolderChange) { case FolderChange.ItemRemoved: folder.BeforeRemoving(); folder.OnFolderChange -= folder_OnFolderChange; break; case FolderChange.ItemAdded: folder.OnFolderChange += folder_OnFolderChange; break; } }
private void _items_BeforeChanging(object sender, FolderChangeEventArgs <TFolderItem> e) { FireFolderChange(this, e); }
void folder_OnFolderChange(object sender, FolderChangeEventArgs <TFolderItem> e) { FireFolderChange(sender, e); }