예제 #1
0
        public static TrackableDictionaryTrackerSurrogate <TKey, TValue> Convert(
            TrackableDictionaryTracker <TKey, TValue> tracker)
        {
            if (tracker == null)
            {
                return(null);
            }

            var surrogate = new TrackableDictionaryTrackerSurrogate <TKey, TValue>();

            foreach (var item in tracker.ChangeMap)
            {
                surrogate.ChangeList.Add(new Change
                {
                    Operation = item.Value.Operation,
                    Key       = item.Key,
                    NewValue  = item.Value.NewValue,
                });
            }
            return(surrogate);
        }
예제 #2
0
        public static TrackableDictionaryTracker <TKey, TValue> Convert(
            TrackableDictionaryTrackerSurrogate <TKey, TValue> surrogate)
        {
            if (surrogate == null)
            {
                return(null);
            }

            var tracker = new TrackableDictionaryTracker <TKey, TValue>();

            foreach (var change in surrogate.ChangeList)
            {
                tracker.ChangeMap.Add(
                    change.Key,
                    new TrackableDictionaryTracker <TKey, TValue> .Change
                {
                    Operation = change.Operation,
                    NewValue  = change.NewValue
                });
            }
            return(tracker);
        }