public async Task <IActionResult> UpdateAsync([FromBody] CitizenModel model) { try { if (model == null || !model.IsCorrect()) { var errorMessage = "Incorrect data"; Log.Error(errorMessage); return(StatusCode(422, new ResultModel { is_successed = false, error = errorMessage })); } if (model.id <= 0) { var errorMessage = $"Citizen ID is invalid. ID = {model.id}"; Log.Error(errorMessage); return(StatusCode(422, new ResultModel { is_successed = false, error = errorMessage })); } var resultDto = await _citizensService.UpdateAsync(CitizenModel.ToDto(model)).ConfigureAwait(false); var result = ResultModel.FromDto(resultDto); if (!result.is_successed) { Log.Error(result.error); return(StatusCode(422, result)); } return(new JsonResult(result)); } catch (Exception ex) { Log.Error(ex, string.Empty); return(StatusCode(500, new ResultModel { error = ex.Message })); } }