Beispiel #1
0
        public ActionResult <Cidadao> GetCidadaoById([FromHeader] string ibge, [FromRoute] int id)
        {
            try
            {
                ibge = _config.GetConnectionString(Connection.GetConnection(ibge));

                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";
                }

                Cidadao model = _cidadaoRepository.GetCidadaoById(ibge, id, sql_estrutura);
                return(Ok(model));
            }
            catch (Exception ex)
            {
                var response = TrataErro.GetResponse(ex.Message, true);
                return(StatusCode((int)HttpStatusCode.InternalServerError, response));
            }
        }
Beispiel #2
0
        public ActionResult GeraAprazamentoByIndividuo([FromHeader] string ibge, [FromBody] ParametersAprazamento model)
        {
            try
            {
                ibge = _config.GetConnectionString(Connection.GetConnection(ibge));

                _repository.GeraAprazamentoPopGeralByIndividuo(ibge, (int)model.id); //executa popgeral

                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";
                }

                //recupera informações de cidadão
                var cidadao = _cidadaorepository.GetCidadaoById(ibge, (int)model.id, sql_estrutura);

                if (cidadao.csi_sexpac == "Feminino")
                {
                    _repository.GeraAprazamentoFemininoByIndividuo(ibge, (int)model.id); //executa feminino

                    var gestacao = _gestacaorepository.IsGestante(ibge, (int)model.id);
                    if (gestacao != null)
                    {
                        _repository.GeraAprazamentoGestacaoByIndividuo(ibge, (int)model.id); // executa gestacao
                    }
                    else
                    {
                        var algumagestacao = _gestacaorepository.GetGestacaoByCidadao(ibge, (int)model.id);
                        if (algumagestacao != null)
                        {
                            _repository.GeraAprazamentoPuerperaByIndividuo(ibge, (int)model.id); //executa puerpera
                        }
                    }
                }
                else if (cidadao.csi_sexpac == "Masculino")
                {
                    _repository.GeraAprazamentoMasculinoByIndividuo(ibge, (int)model.id); //executa masculino
                }
                if (cidadao.verifica_deficiencia == 1)
                {
                    _repository.GeraAprazamentoDeficienciaByIndividuo(ibge, (int)model.id); //executa deficiencia
                }
                return(Ok());
            }
            catch (Exception ex)
            {
                var response = TrataErro.GetResponse(ex.Message, true);
                return(StatusCode((int)HttpStatusCode.InternalServerError, response));
            }
        }
Beispiel #3
0
        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));
            }
        }