public ActionResult AtualizaResponsavelFamilia([FromHeader] string ibge, int?id_responsavel, int id_familia) { try { ibge = _config.GetConnectionString(Helpers.Connection.GetConnection(ibge)); var individuo = _repository.GetIndividuoFamilia(ibge, (int)id_responsavel); if (id_familia != individuo) { return(BadRequest(TrataErro.GetResponse("O indivíduo não pertence a família informada.", true))); } string sql_estrutura = string.Empty; if (_cidadaorepository.VerificaExisteEsusFamilia(ibge)) { sql_estrutura = $@"LEFT JOIN ESUS_FAMILIA D ON(D.ID = D.ID_FAMILIA)"; } else { sql_estrutura = $@"LEFT JOIN ESUS_CADDOMICILIAR D ON PAC.ID_ESUS_CADDOMICILIAR = D.ID"; } var paciente = _cidadaorepository.GetCidadaoById(ibge, (int)id_responsavel, sql_estrutura); if (string.IsNullOrWhiteSpace(paciente.csi_ncartao) && string.IsNullOrWhiteSpace(paciente.csi_cpfpac)) { return(BadRequest(TrataErro.GetResponse("Para ser responsável pela Família, o indivíduo precisa ter CPF e/ou CNS preenchidos.", true))); } _repository.AtualizaResponsavelFamilia(ibge, id_familia, (int)id_responsavel); return(Ok()); } catch (Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }