Esempio n. 1
0
 public void ClearOldItems()
 {
     if (OldItems != null)
     {
         OldItems.Clear();
     }
 }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (int)Action;
         hashCode = (hashCode * 397) ^ (NewItems != null ? NewItems.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (OldItems != null ? OldItems.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ NewStartingIndex;
         hashCode = (hashCode * 397) ^ OldStartingIndex;
         return(hashCode);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Tries to remove the item from old items
        /// </summary>
        /// <param name="index">The item index.</param>
        /// <param name="item">The item.</param>
        /// <returns><c>true</c> if removed, otherwise <c>false</c>.</returns>
        /// <remarks>This code is only need by <c>FastBindingList{T}</c>.</remarks>
        public bool TryRemoveItemFromOldItems(int index, T item)
        {
            if (Mode == SuspensionMode.None || Mode == SuspensionMode.Mixed)
            {
                var oldIdx = OldItems.LastIndexOf(item);
                if (oldIdx > -1 && OldItemIndices[oldIdx] == index)
                {
                    OldItems.RemoveAt(oldIdx);
                    OldItemIndices.RemoveAt(oldIdx);

                    for (var i = 0; i < OldItemIndices.Count; i++)
                    {
                        if (OldItemIndices[i] >= index)
                        {
                            OldItemIndices[i]++;
                        }
                    }

                    return(true);
                }
            }

            return(false);
        }
Esempio n. 4
0
 public override string ToString()
 {
     return(String.Format("{0}: +[{1}], -[{2}]",
                          Action, NewItems.StringJoin(), OldItems.StringJoin()));
 }