| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | 
							- using System.Collections.Concurrent;
 
- using MediaBrowser.Controller.Entities;
 
- using System;
 
- using System.Collections.Generic;
 
- namespace MediaBrowser.Controller.Library
 
- {
 
-     /// <summary>
 
-     /// Class ChildrenChangedEventArgs
 
-     /// </summary>
 
-     public class ChildrenChangedEventArgs : EventArgs
 
-     {
 
-         /// <summary>
 
-         /// Gets or sets the folder.
 
-         /// </summary>
 
-         /// <value>The folder.</value>
 
-         public Folder Folder { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the items added.
 
-         /// </summary>
 
-         /// <value>The items added.</value>
 
-         public ConcurrentBag<BaseItem> ItemsAdded { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the items removed.
 
-         /// </summary>
 
-         /// <value>The items removed.</value>
 
-         public List<BaseItem> ItemsRemoved { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the items updated.
 
-         /// </summary>
 
-         /// <value>The items updated.</value>
 
-         public ConcurrentBag<BaseItem> ItemsUpdated { get; set; }
 
-         /// <summary>
 
-         /// Create the args and set the folder property
 
-         /// </summary>
 
-         /// <param name="folder">The folder.</param>
 
-         /// <exception cref="System.ArgumentNullException"></exception>
 
-         public ChildrenChangedEventArgs(Folder folder)
 
-         {
 
-             if (folder == null)
 
-             {
 
-                 throw new ArgumentNullException();
 
-             }
 
-             //init the folder property
 
-             Folder = folder;
 
-             //init the list
 
-             ItemsAdded = new ConcurrentBag<BaseItem>();
 
-             ItemsRemoved = new List<BaseItem>();
 
-             ItemsUpdated = new ConcurrentBag<BaseItem>();
 
-         }
 
-         /// <summary>
 
-         /// Adds the new item.
 
-         /// </summary>
 
-         /// <param name="item">The item.</param>
 
-         /// <exception cref="System.ArgumentNullException"></exception>
 
-         public void AddNewItem(BaseItem item)
 
-         {
 
-             if (item == null)
 
-             {
 
-                 throw new ArgumentNullException();
 
-             }
 
-             
 
-             ItemsAdded.Add(item);
 
-         }
 
-         /// <summary>
 
-         /// Adds the updated item.
 
-         /// </summary>
 
-         /// <param name="item">The item.</param>
 
-         /// <exception cref="System.ArgumentNullException"></exception>
 
-         public void AddUpdatedItem(BaseItem item)
 
-         {
 
-             if (item == null)
 
-             {
 
-                 throw new ArgumentNullException();
 
-             }
 
-             
 
-             ItemsUpdated.Add(item);
 
-         }
 
-         /// <summary>
 
-         /// Adds the removed item.
 
-         /// </summary>
 
-         /// <param name="item">The item.</param>
 
-         /// <exception cref="System.ArgumentNullException"></exception>
 
-         public void AddRemovedItem(BaseItem item)
 
-         {
 
-             if (item == null)
 
-             {
 
-                 throw new ArgumentNullException();
 
-             }
 
-             ItemsRemoved.Add(item);
 
-         }
 
-         /// <summary>
 
-         /// Lists the has change.
 
-         /// </summary>
 
-         /// <param name="list">The list.</param>
 
-         /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
 
-         private bool ListHasChange(List<BaseItem> list)
 
-         {
 
-             return list != null && list.Count > 0;
 
-         }
 
-         /// <summary>
 
-         /// Lists the has change.
 
-         /// </summary>
 
-         /// <param name="list">The list.</param>
 
-         /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
 
-         private bool ListHasChange(ConcurrentBag<BaseItem> list)
 
-         {
 
-             return list != null && !list.IsEmpty;
 
-         }
 
-         
 
-         /// <summary>
 
-         /// Gets a value indicating whether this instance has change.
 
-         /// </summary>
 
-         /// <value><c>true</c> if this instance has change; otherwise, <c>false</c>.</value>
 
-         public bool HasChange
 
-         {
 
-             get { return HasAddOrRemoveChange || ListHasChange(ItemsUpdated); }
 
-         }
 
-         /// <summary>
 
-         /// Gets a value indicating whether this instance has add or remove change.
 
-         /// </summary>
 
-         /// <value><c>true</c> if this instance has add or remove change; otherwise, <c>false</c>.</value>
 
-         public bool HasAddOrRemoveChange
 
-         {
 
-             get { return ListHasChange(ItemsAdded) || ListHasChange(ItemsRemoved); }
 
-         }
 
-     }
 
- }
 
 
  |