public Task <ValueModel?> Create(ValueModel value)
        {
            int nextId = (from v in _values select v.Key).Max() + 1;

            value.Id = nextId;
            return(_values.TryAdd(value.Id, value) ? Task.FromResult <ValueModel?>(value) : Task.FromResult <ValueModel?>(null));
        }
        public Task <ValueModel?> Update(ValueModel value)
        {
            if (!_values.TryGetValue(value.Id, out var comparisonValue))
            {
                throw new NotFoundException();
            }

            return(_values.TryUpdate(value.Id, value, comparisonValue)
                ? Task.FromResult <ValueModel?>(value)
                : Task.FromResult <ValueModel?>(null));
        }