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); }
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); }