public async Task <ActionResult <PersonResponseDTO> > UpdatePersonAsync([FromBody] PersonDTO personDto, [FromRoute] long id) { var person = await _personRepository.GetPersonAsync(id); if (person == null) { return(NotFound($"Person with id {id} not found")); } if (ModelState.IsValid) { person.Name = personDto.Name; person.DisplayName = personDto.DisplayName; person.Skills.RemoveAll(e => e.PersonId == person.Id); AddSkills(person, personDto); await _personRepository.UpdateAsync(); var updatedPersonDto = new PersonResponseDTO(person); return(Ok(updatedPersonDto)); } return(BadRequest(ModelState)); }
protected void AssertEqualPersons(PersonDTO personExpected, PersonResponseDTO personResult) { Assert.Equal(personExpected.Name, personResult.Name); Assert.Equal(personExpected.DisplayName, personResult.DisplayName); Assert.NotEmpty(personResult.Skills); for (int i = 0; i < personExpected.Skills.Count; i++) { Assert.Equal(personExpected.Skills[i].Name, personResult.Skills[i].Name); Assert.Equal(personExpected.Skills[i].Level, personResult.Skills[i].Level); } }
public async Task <ActionResult <PersonResponseDTO> > GetPersonAsync([FromRoute] long id) { var person = await _personRepository.GetPersonAsync(id); if (person == null) { return(NotFound($"Person with id {id} not found")); } var personDto = new PersonResponseDTO(person); return(Ok(personDto)); }
public async Task <ActionResult <PersonResponseDTO> > CreatePersonAsync([FromBody] PersonDTO personDto) { if (ModelState.IsValid) { var person = new Person { Name = personDto.Name, DisplayName = personDto.DisplayName, }; AddSkills(person, personDto); await _personRepository.AddPersonAsync(person); var createdPersonDto = new PersonResponseDTO(person); return(Ok(createdPersonDto)); } return(BadRequest(ModelState)); }