private TrackedModel(T model, TrackedModelState state, AggregateDirtyTracker <T> dirtyTracker = null) { Model = model ?? throw new ArgumentNullException(nameof(model)); State = state; _dirtyTracker = dirtyTracker ?? new AggregateDirtyTracker <T>(model); }
public TrackedModel <T> WithNewState(TrackedModelState newState) { return(new TrackedModel <T>(Model, newState, _dirtyTracker)); }
public IEnumerable <TrackedModel <T> > OfState(TrackedModelState state) => this.Where(m => m.State == state);