/// <summary> /// Invokes the http api to create a person on the server. /// </summary> /// <param name="parameters"></param> /// <returns></returns> public async Task <Person> CreatePerson(EditPersonParameters parameters) { var message = await _httpClient .PostAsync(PeopleUrlBase, new StringContent(JsonSerializer.Serialize(parameters), Encoding.UTF8, "application/json")); return(await JsonSerializer.DeserializeAsync <Person>(await message.Content.ReadAsStreamAsync())); }
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)); }
public Task <Person> EditPerson(Guid id, [FromBody] EditPersonParameters parameters) { return(_repository.EditPerson(id, parameters)); }
public Task <Person> CreatePerson([FromBody] EditPersonParameters parameters) { return(_repository.CreatePerson(parameters)); }
/// <summary> /// Invokes the http api to modify a person on the server. /// </summary> /// <param name="id"></param> /// <param name="parameters"></param> /// <returns></returns> public Task <Person> EditPerson(Guid id, EditPersonParameters parameters) { // Implementation goes here! throw new NotImplementedException(); }