public void RejectChanges() { AddedItems.ToList().ForEach(i => _WrappedTarget.Remove(i)); foreach (var item in _WrappedTarget.Cast <IChangeTrackable <T> >()) { item.RejectChanges(); } foreach (var item in _DeletedItems) { ((System.ComponentModel.IRevertibleChangeTracking)item).RejectChanges(); _WrappedTarget.Add(item); } _DeletedItems.Clear(); }
private void RejectChanges(object proxy, List <object> parents) { AddedItems.ToList().ForEach(i => _WrappedTarget.Remove(i)); parents = parents ?? new List <object>(20) { proxy }; foreach (var item in _WrappedTarget.Cast <IRevertibleChangeTrackingInternal>()) { item.RejectChanges(parents); } foreach (var item in _DeletedItems) { ((IRevertibleChangeTrackingInternal)item).RejectChanges(parents); _WrappedTarget.Add(item); } _DeletedItems.Clear(); }