private DataPropertyDictionaryChangeOperation(DataPropertyCollectionChangeAction action, int index, int movingIndex, DataPropertyDictionaryValueContext <TKey, TValue> settingValue = null)
        {
            this.index       = index;
            this.movingIndex = movingIndex;

            Action       = action;
            SettingValue = settingValue;
        }
        internal static DataPropertyDictionaryChangeOperation <TKey, TValue> Set(int index, TKey oldKey, TValue oldValue, TKey inputKey, TValue inputValue, DataProperty <TValue> property)
        {
            var settingValue = new DataPropertyDictionaryValueContext <TKey, TValue>(oldKey, oldValue, inputKey, inputValue, property);

            return(new DataPropertyDictionaryChangeOperation <TKey, TValue>(DataPropertyCollectionChangeAction.Set, index, settingValue));
        }
 private DataPropertyDictionaryChangeOperation(DataPropertyCollectionChangeAction action, int index, DataPropertyDictionaryValueContext <TKey, TValue> settingValue = null)
     : this(action, index, -1, settingValue)
 {
     SettingValue = settingValue;
 }
        internal static DataPropertyDictionaryChangeOperation <TKey, TValue> Insert(int index, TKey key, DataProperty <TValue> property)
        {
            var settingValue = new DataPropertyDictionaryValueContext <TKey, TValue>(key, property);

            return(new DataPropertyDictionaryChangeOperation <TKey, TValue>(DataPropertyCollectionChangeAction.Insert, index, settingValue));
        }