public Task <Person> CreatePerson(EditPersonParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } var person = new Person { Id = Guid.NewGuid() }; parameters.Patch(person); People.AddOrUpdate(person.Id, person, (key, value) => person); return(Task.FromResult(person)); }
public Task <Person> EditPerson(Guid id, EditPersonParameters parameters) { if (id == Guid.Empty) { throw new EmptyGuidException(nameof(id)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } if (!People.TryGetValue(id, out Person person)) { throw new ArgumentException($"No person found with id {id}!", nameof(id)); } parameters.Patch(person); People.AddOrUpdate(id, person, (key, value) => person); return(Task.FromResult(person)); }