public virtual async Task <IActionResult> PartiallyUpdate(int id, JsonPatchDocument <TDtoForUpdate> patchDocument) { var result = await _crudService.GetAsUpdateDto(id); if (!result.Succeeded) { return(WithStatusCode(result.StatusCode, result.Message)); } var dtoForUpdate = result.Data as TDtoForUpdate; patchDocument.ApplyTo(dtoForUpdate, ModelState); if (!TryValidateModel(dtoForUpdate)) { return(ValidationProblem(ModelState)); } var updateResult = await _crudService.Update(id, dtoForUpdate); if (!updateResult.Succeeded) { return(WithStatusCode(updateResult.StatusCode, updateResult.Message)); } return(Ok(result.Data)); }