Exemplo n.º 1
0
        public void Existing(T model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            _trackedModels.Add(model, TrackedModel <T> .Existing(model));
        }
Exemplo n.º 2
0
        public void New(T model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (_trackedModels.TryGetValue(model, out var existingModel) && existingModel.State == TrackedModelState.Removed)
            {
                _trackedModels[model] = existingModel.WithNewState(TrackedModelState.Existing);
                return;
            }

            _trackedModels.Add(model, TrackedModel <T> .New(model));
        }