public async Task <ActionResult <PersonModel> > Put(PersonPutModel personPutModel) { var response = await _personService.PutAsync(personPutModel); if (response.IsError) { return(StatusCode((int)response.ErrorCode, response.ErrorDescription)); } return(Ok(response.Data)); }
public async Task <ServiceResponse <PersonModel> > PutAsync(PersonPutModel personPutModel) { try { var person = await _context.People.AsNoTracking().FirstOrDefaultAsync(f => f.Id == personPutModel.Id); if (person == null) { return(new ServiceResponse <PersonModel> { ErrorCode = HttpStatusCode.NotFound, ErrorDescription = "Person does not exist" }); } var updatedPerson = _mapper.Map <Person>(personPutModel); _context.Entry(updatedPerson).State = EntityState.Modified; if (await _context.SaveChangesAsync() > 0) { return(new ServiceResponse <PersonModel> { Data = _mapper.Map <PersonModel>(updatedPerson) }); } return(new ServiceResponse <PersonModel> { ErrorCode = HttpStatusCode.InternalServerError, ErrorDescription = "Internal Server Error" }); } catch (Exception e) { Debug.WriteLine(e); return(new ServiceResponse <PersonModel> { ErrorCode = HttpStatusCode.InternalServerError, ErrorDescription = "Internal Server Error" }); } }