public IActionResult Update(string definitionId, Definition definitionToUpdate) { if (definitionToUpdate == null) { return(BadRequest(ModelState)); } if (definitionId != definitionToUpdate.Id) { return(BadRequest(ModelState)); } if (!definitionRepository.DefinitionExists(definitionId)) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (definitionRepository.IsDuplicateWordTypeUpdate(definitionToUpdate.WordId, definitionId, definitionToUpdate.Type)) { ModelState.AddModelError("", $"{definitionToUpdate.Type} already exists"); return(StatusCode(422)); } if (!definitionRepository.Update(definitionToUpdate)) { ModelState.AddModelError("", "Update Error"); return(StatusCode(500)); } return(Ok("Update Success")); }